Php 格式化具有巨大秒值的DateInterval
最近我遇到了一个简单的Php 格式化具有巨大秒值的DateInterval,php,dateinterval,Php,Dateinterval,最近我遇到了一个简单的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秒 没有秒
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,等等
(希望我的计算是正确的)这可以通过DateTime类实现 使用: 18天23小时41分7秒 功能:
这可以通过DateTime类实现 使用: 18天23小时41分7秒 功能:
如果这真的对你有帮助,你能把它标记为答案吗?当然。这真的很有帮助。如果这真的对你有帮助,你能把它标记为答案吗?当然。这真的很有帮助。
echo secondsToTime(1640467);
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');
}