2013-12-20 19 views
0

我想要下面的代碼來獲得2個日期/時間值之間的差異小時。 差異應該是47.82,但結果是48.82。我無法弄清楚爲什麼。PHP的日期/時間差異給我一個額外的小時

$time1 = '11/03/2013 15:28:00'; 
$time2 = '11/01/2013 15:39:00'; 

$hourdiff = round((strtotime($time1) - strtotime($time2))/3600,2); 
echo $hourdiff; 

任何幫助,非常感謝。

+0

也許日光節約會起作用嗎? –

+0

你住在哪個時區?在那個地區,Novemer 3的冬季時間能否轉換? – PMF

+0

...還有日期的格式(是11月3日還是3月11日?) –

回答

0

的區別可能是由於夏令時。

您可以將日期設置爲UTC來解決此問題。

$time1 = '11/03/2013 15:28:00 UTC'; 
$time2 = '11/01/2013 15:39:00 UTC'; 

$hourdiff = round((strtotime($time1) - strtotime($time2))/3600, 2); 
+0

我不知道這個功能,因爲我還沒有聲望,所以我不能投票。感謝這一點,夏令時是問題所在。 – user3101337

0

必須與夏令時有關。根據美國谷歌夏令時在11月2日結束,我可以看到這可能是爲什麼。試試這個,看看你是否得到正確的結果:

$time1 = '11/05/2013 15:28:00 <br/>'; 
$time2 = '11/03/2013 15:39:00'; 
+0

我測試了這個,你是對的,夏令時是問題。它甚至沒有跨越我的想法。非常感謝您的幫助。 – user3101337

0

嘗試......

$diffHours = round(((strtotime($time1) - strtotime($time2))/3600),2); 

在你的公式你是不是總結果四捨五入

感謝