Can anyone explain why PHP calculates the diff between two dates differently depending on what timezone was given?
$A = new DateTime('2000-02-01 00:00:00', new \DateTimeZone('Europe/London'));
$B = new DateTime('2000-03-01 00:00:00', new \DateTimeZone('Europe/London'));
$ABdiff = $A->diff($B);
var_dump($ABdiff->m); // int(1)
// versus
$X = new DateTime('2000-02-01 00:00:00', new \DateTimeZone('Europe/Berlin'));
$Y = new DateTime('2000-03-01 00:00:00', new \DateTimeZone('Europe/Berlin'));
$XYdiff = $X->diff($Y);
var_dump($XYdiff->m); // int(0)
I dont quite understand why the timezone affects the calculation here.