2011-12-02 120 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 

欧洲/罗马是我的时区)

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