-1

所以我有这段代码来确定数据库中当前时间和日期时间字段值之间的差异。

此代码为不在同一年的日期提供了奇怪的输出(下面的示例)。

$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 分钟

4

1 回答 1

2

%d让您长达 31 天。之后,它重置为零并增加月份。如果你想要总数,如果你需要使用天数%a

echo $overdue_until->format('%R %a day/s, %h hours, %i minutes');

演示 1 演示 2

于 2014-12-12T02:37:05.017 回答