获取两个日期之间的差异

时间:2019-05-16 14:49:31

标签: php datetime timezone

谁能解释为什么PHP根据给定的时区来不同地计算两个日期之间的差异?

$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)

我不太明白为什么时区会影响此处的计算。

0 个答案:

没有答案