2016-06-18 7 views
1

2つのタイムスタンプの時間と分の差を取得する必要がありますが、次のコードはほんの数時間しか出力しません。タイムスタンプ間の時差を時間と分で出力する方法

予想される出力:

2:30 hours 

が、それは出力:

2 

私が使用していますコード:

echo -(date("H:i", strtotime("04:30AM")) - date("H:i", strtotime("07:00AM"))); 

答えて

4

使用DateInterval

$datetime1 = new DateTime('04:30AM'); 
$datetime2 = new DateTime('07:00AM'); 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%h:%i'); // 2:30 

datetime.diff
dateinterval.format

+0

しかし、それはAMにPMからcalcualteしません。 '$ from =" 09.00PM "$ to =" 01.00AM "の場合、' 20:00 hrs'を出力しますが、 '04:00 hrs'を出力するはずです。午前から午後まで計算すると正しい出力が得られません – Learning

+0

両方とも 'today'に関連しているので、それは" -20:00 "を返します。あなたは '%R'でサインを得ることができます –

+0

また、'(新しいDateTime('09:00PM ')) - > diff(新しいDateTime('01:00AM + 1day')) :%I '); '' +04:00'を得ます –

関連する問題