2012-01-27 5 views
0

差b/wをmin:sec形式で2回計算したいと考えています。私のapprochは正しいです。時間を計算するアプローチの落とし穴は何ですか?

date("i:s",(strtotime($User['end_time']) - strtotime($User['start_time']))); 
+1

になります出力は正しいですか? – Rikesh

+0

はい私はそれを得ていますが、落とし穴があります – aWebDeveloper

+0

いいえ私はそうは思わない、あなたの方法は正しいです! – Rikesh

答えて

1

一部のサーバーでは、タイムゾーンに関する問題が発生することがあります。

計算にUTCタイムゾーンを使用することでしょうbettter方法:

$date = new DateTime('', new DateTimeZone('UTC')); 
$date->setTimestamp(strtotime($User['end_time']) - strtotime($User['start_time'])); 
echo $date->format('i:s'); 

もう一つは、彼らが正確に1時間に異なっている場合、あなたの希望になっている場合は、結果は午後12時00分

0

strtotime($User['end_time']) - strtotime($User['start_time'])はあなたに秒単位の時間を与えます。その後、それをdateに渡すので、あなたは、そのユニックスタイムスタンプの日付の分と秒を取得します。

関連する問題