我知道这听起来会很奇怪。但它正在发生…
我正在尝试mktime()函数来创建秒字符串:

$time = mktime(21,0,0,3,29,2014);
echo date("d-M, h:i A", $time);

然后加上21600(6小时)秒。
 $newstr = $time+21600;
 echo  echo date("d-M, h:i A", $newstr);

我希望这个输出:
29-Mar, 09:03 PM
30-Mar, 03:03 AM

但我明白了:
29-Mar, 09:03 PM
30-Mar, 04:03 AM      // It must be 03:03 AM

有人知道问题是什么吗?我在用xampp。

最佳答案

您的时区设置为夏令时在2014年3月30日生效的区域,因此后一个日期最终将调整为夏令时,并比您在数学上预期的晚一小时。
http://www.timeanddate.com/news/time/europe-starts-dst-2014.html
您可以通过使用e掩码中包含的时区标记I和dst标记date打印之前和之后的日期来验证这一点。

07-24 09:46
查看更多