最近我遇到了一个简单的DateInterval
问题。在创建具有巨大秒值的DateInterval
对象后,该类不会重新计算其属性,如下所示:
$interval = new DateInterval('PT6685071S');
echo $interval->format("%m months %d days %H hours %i minutes %s seconds");
输出变为:
0个月0天00小时0分6685071秒
如何让它显示如下:
2个月16天8小时57分51秒
没有将秒数除以60,分钟数除以60等等?
(希望我的计算是正确的)
答案 0 :(得分:3)
这可以通过DateTime类实现
使用:
echo secondsToTime(1640467);
18天,23小时,41分钟和7秒
function secondsToTime($seconds) {
$dtF = new DateTime("@0");
$dtT = new DateTime("@$seconds");
return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}