【发布时间】:2013-04-19 02:41:34
【问题描述】:
我正在使用 DateTime() 计算两个日期之间的差异,它工作正常。问题是我希望天数格式能够超过一整月,因此 30/31 或更高。
$now = new DateTime();
$future_date = new DateTime($contest->expires_at);
$interval = $future_date->diff($now);
$enddate = $interval->format("%m month, %d days, %h hours, %i minutes");
目前的问题是,当我不显示月份时,天数最多只能达到 30/31,超过的任何时间都将结转以形成新的月份,用剩余天数重置天数. 我希望能够以这种格式显示 42 天的差异为 6 周:
$enddate = $interval->format("%d days, %h hours, %i minutes");
是否有快速解决此问题的方法,还是我需要手动将时间戳转换为秒并为此使用我自己的函数和模运算符?
【问题讨论】:
-
使用
%a而不是%d(如格式文档中所述)-php.net/manual/en/dateinterval.format.php
标签: php date datetime timestamp unix-timestamp