PHP的函数date()无法正常工作? (意外输出)

时间:2012-09-05 15:30:22

标签: php datetime

我注意到我的一个依赖于函数date()的脚本陷入了无限循环。在调查原因时,我想出了一个非常简单的令人惊讶的测试:

<?php
echo (date("Y-m-d H:i:s",1330221136)."\n\n");
echo (date("Y-m-d H:i:s",1330222036)."\n");

由于第一个时间戳小于第二个时间戳,因此第一行应该返回更早的日期时间。但是上面代码的输出是:

2012-02-25 23:52:16 

2012-02-25 23:07:16

有人知道PHP 5.3中函数date()的任何故障吗?

2 个答案:

答案 0 :(得分:6)

如果时钟在当地时间恰好00:00向后翻了一个小时,这可能会合法地发生。所以:

  1. 您的代码有错误,因为它不允许发生这种情况的可能性
  2. 似乎在您当地的时区DST于2012-02-26 00:00(当地时间)结束
  3. 让我们知道您位于巴西( Fluffeh 的道具,以便查找!)

答案 1 :(得分:1)

复制/粘贴到我的安装会产生这样的结果:

2012-02-26 02:52:16
2012-02-26 03:07:16

这对我来说似乎很好。