我有:可能重复:
Time diff in minutes between 2 dates
php date_diff in hours
$datetime1 = new DateTime('2012-12-01 10:40:00');
$datetime2 = new DateTime('2012-12-03 12:00:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%1 day %h hours %i minutes');
这个工作正常,但我怎么能只显示小时和分钟?这个例子应该是:
49小时10分钟
答案 0 :(得分:1)
从PHP手册:
注意:
DateInterval :: format()方法不会重新计算时间字符串中的结转点或日期段。这是预期的,因为不可能溢出像“32天”这样的值,这些值可以被解释为从“1个月和4天”到“1个月和1天”的任何内容。
换句话说,DateInterval
课程不会独自完成你所要求的;你必须自己做计算。
这样的事情应该这样做:
$hours = $interval->h + ($interval->d*24);
print "{$hours} hours ".$interval->format('%i minutes');