【发布时间】:2014-12-12 02:31:46
【问题描述】:
所以我有这段代码来确定数据库中当前时间和日期时间字段值之间的差异。
此代码为不同年份的日期提供了奇怪的输出(以下示例)。
$deadline = new DateTime($someDeadline, new DateTimeZone('CET'));
$time_now = new DateTime('NOW', new DateTimeZone('CET'));
$overdue_until = $time_now->diff($deadline);
echo $overdue_until->format('%R %d day/s, %h hours, %i minutes');
示例结果:
2015 年 2 月 9 日星期一 05:28:23 PM 得到差值 + 28 天/秒,距当前时间 17 小时 6 分钟。
2015 年 1 月 14 日星期三上午 11:28:43 + 2 天/秒,10 小时 34 分钟
【问题讨论】:
-
时区 CET 出于向后兼容性的原因而存在,不应使用。见PHP page