2011-12-12 133 views
0

我有以下問題 首先這裏是我的代碼:PHP DateDiff錯誤?

$day_difference = 1; 
while (strtotime('-' . $day_difference . ' day', time()) >= strtotime('2011-12-12 00:08:00')) { 
    #echo $day_difference; 
    $day_difference++; 
} 
$datediff = $day_difference; 

此代碼應輸出1每天不2天

有什麼不對?

+1

它不? http://codepad.org/zTJEgspS –

+0

好吧,似乎是與時區有關? –

回答

2

如果您運行的是PHP 5.3,則應使用本機DateTime API。

<?php 
$date = new DateTime('2011...'); 
$interval = $date->diff(new DateTime); 
var_dump($interval); 
?> 
+1

+1 DateTime()在處理時間問題時克服了很多麻煩,包括時區(除其他外)。 – Herbert

+0

感謝它是最好的 –