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

And*_*ade 2 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");
Run Code Online (Sandbox Code Playgroud)

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

2012-02-25 23:52:16 

2012-02-25 23:07:16
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*Jon 6

如果时钟在当地时间恰好00:00向后转一小时,则可能合理地发生这种情况.所以:

  1. 您的代码有一个错误,因为它不允许发生这种情况
  2. 看来你所在的时区DST截止到2012-02-26 00:00(当地时间)
  3. 这让我们知道你位于巴西(通过Fluffeh找到的道具!)

  • 这也是我的第一个思路,所以我去了可怕的谷歌搜索结果,但我发现这个在圣保罗:夏令时,夏令时在2012年2月25日星期六和2012年2月26日星期日午夜结束当地的白天时间. (5认同)
  • @Fluffeh:所以我们也了解到OP位于巴西. (2认同)