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


Why 25 hours in a day? PHP/Date

示例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小时。为什么?

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