【发布时间】:2017-04-08 03:51:47
【问题描述】:
我正在使用此代码来计算时间段。实际上,我想要两个 HH:MM:SS 时刻之间的句点,并得到 HH:MM:SS 格式的结果。
$time1 = strtotime('00:00:00');
$time2 = strtotime('00:00:07');
$diff = $time2 - $time1;
$diff = date('H:i:s', $diff);
我期待00:00:07,但我得到01:00:07。可能是什么问题?
Irvin 运行here,并得到正确答案,但我在本地机器上运行相同的代码并且错误! 是时区还是某些配置会影响结果?!
【问题讨论】:
-
我的演示一切正常。与您完全相同的代码。结果是
00:00:07。 eval.in/684340 -
@Irvin,我在本地机器上运行,它给了我 01:00:07,这太疯狂了!但也许它取决于时区!!??
-
是的,它可能是。
-
是的,可能是时区问题。
$diff是 UTC 时间戳,但date()在当前时区生成输出。您大概比 UTC 晚 1 小时。 -
简单修复:
date_default_timezone_set('UTC');