【发布时间】:2014-08-20 21:45:14
【问题描述】:
我想像这样显示两个日期时间之间的时间:
$diff = strtotime('2014-06-30 15:23:19') - strtotime('2014-06-30 15:20:16');
echo "time: ".date('H:i:s', $diff);
结果是:
time: 01:03:03
我不明白为什么小时显示“01”? 我尝试使用 'h:i:s' 或 'g:i:s' 但它不起作用。
我想要这个结果:
time: 00:03:03
【问题讨论】:
-
回显日期(time(),"h:i:s");
-
交换时间顺序。你在这里得到一个负值,因为你正在从过去中减去未来。
-
我的错误,我的原始代码中的顺序是好的
-
当您执行
date('H:i:s', $diff)之类的操作时,您是在要求 php 格式化时间(1970 年 1 月 1 日,UTC)之后的$diff秒。如果您不住在格林威治标准时间 +0 的时区,您将看不到您期望的值。