我注意到,我的一个依赖函数date()的脚本陷入了一个无限循环。在调查原因时,我想出了一个非常简单的令人惊讶的测试:
<?php
echo (date("Y-m-d H:i:s",1330221136)."nn");
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()的任何故障吗?
如果时钟正好在当地时间00:00向后拨一小时,这种情况可能会合法发生。因此:
- 您的代码有一个错误,因为它不允许发生这种情况
- 您所在的时区夏令时似乎于2012-02-26 00:00(当地时间)结束
- 这让我们知道您位于巴西(支持Fluffeh查找!)
复制/粘贴到我的安装会产生以下结果:
2012-02-26 02:52:16
2012-02-26 03:07:16
这对我来说似乎很好。