php DateTime表现得很奇怪

时间:2014-12-12 02:31:46

标签: php datetime date-math

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

Demo 1 Demo 2