【问题标题】:PHP DateTime FunctionsPHP 日期时间函数
【发布时间】:2012-01-11 06:19:30
【问题描述】:

我有以下代码片段:

$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 堆栈。这是一个错误吗?

【问题讨论】:

  • mmm...能不能加个“乱码”?

标签: php datetime php-5.3


【解决方案1】:

这似乎是一个语言环境的问题。 你在 php.ini 中设置了时区吗?

[Date]
date.timezone = Europe/Rome

欧洲/罗马是我的时区 ;)

或者你也可以添加

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

在您的代码中

【讨论】:

    【解决方案2】:

    可以this be related,嗯...

    如果您使用的是 Windows,我会确保正确设置时区设置。 php.net 上的 cmets 指出了 Windows 下的一些怪癖和错误行为,如果问题仍然存在,可能会认真考虑使用替代方法来区分日期。

    【讨论】:

    • 太棒了,它总是只有下一个操作会中断,我有这个错误有一段时间了
    • 没问题,他们指出了该帖子中的错误修复,如果修复不起作用或您的 php 版本更新,请考虑将您的发现发回该板上,或重新打开问题对此?这将有助于使 php 更好。或者,至少是日期对象,也许。 :o)
    猜你喜欢
    • 2012-11-13
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多