1

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.

Murks
  • 11
  • 1

0 Answers0