为什么一天25小时? PHP /日期

时间:2015-11-25 12:22:35

标签: php laravel datetime

Laravel / Carbon示例:

    $from = Carbon::parse('2009-10-25 00:00:00');
    $to = Carbon::parse('2009-10-26 00:00:00');
    dd($from->diffInHours($to)); // echo 25

小时数差异等于25小时。为什么呢?

1 个答案:

答案 0 :(得分:0)

2009年,夏令时于10月25日结束,因此2009-10-25 00:00:00至2009-10-26 00:00:00之间的差异实际为25小时,至少对于我的时区(MEZ)而言因为日期会在默认时区中解析。

您可以将时区设置为UTC以克服此问题:

$from = \Carbon\Carbon::parse('2009-10-25 00:00:00 UTC');
$to = \Carbon\Carbon::parse('2009-10-26 00:00:00 UTC');
dd($from->diffInHours($to)); // echo 24