2011-12-02 117 views
5

我有下面的代碼片段:PHP日期時間函數

$now = '2011-12-01 22:32:33'; 
$datetime = '2011-12-01 00:07:27'; 


$nowObj = new DateTime($now); 
$datetimeObj = new DateTime($datetime); 

$diff = $datetimeObj->diff($nowObj); //leaving this in screws up the next line 

number_format(1134); //this becomes NaN 

當我通過這個代碼運行,並留在$ DIFF = ...線,它與其他的數字和數學,我後來做食堂在代碼中。例如,我的number_format(1134);後來成爲NaN。我正在使用PHP 5.3.1的XAMPP堆棧。這是一個錯誤?

+0

mmm ...你能添加「混亂」代碼嗎? –

回答

5

莫非this be related,嗯...

如果添加

ini_set("date.timezone","Europe/Rome"); 

你在窗戶上,我會確保時區設置設置正確。關於php.net的評論指出了一些在Windows下的怪癖和錯誤行爲,如果問題持續存在,也許認真考慮使用替代方法來區分日期。

+0

真棒,它總是隻有下一個操作打破,我有這個bug一段時間 – cdub

+0

所以希望我可以給你更多的積分 – cdub

+0

沒問題,他們指向該帖子中的錯誤修復,如果修復程序不起作用或您的PHP版本是最近的,請考慮重新發布你的發現,或重新打開這個問題?這將有助於使php更好。或者,至少是日期對象,也許。 :O) – stefgosselin

0

這似乎是區域設置問題。 hev你設定的時區在php.ini

[Date] 
date.timezone = Europe/Rome 

歐洲/羅馬是我的時區)

,或者你也可以在你的代碼