2012-11-30 54 views
-2

可能重複:
Time diff in minutes between 2 dates
php date_diff in hoursDIFF和得到小時和分鐘

我有:

$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

並有極有可能一對夫婦更受騙者。詢問前請使用搜索功能。謝謝。 – Gordon

回答

1

從PHP手冊:

注:

的DateInterval ::格式()方法不重新計算結轉時間點字符串或日期段。這是預料之中的,因爲它不可能像「32天」那樣溢出,可以解釋爲從「1個月和4天」到「1個月和1天」之間的任何值。

換句話說,DateInterval類將不會做你想要的東西;你必須自己做計算。

像這樣的東西應該這樣做:

$hours = $interval->h + ($interval->d*24); 
print "{$hours} hours ".$interval->format('%i minutes');