示例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