我知道这听起来会很奇怪。但它正在发生…
我正在尝试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
打印之前和之后的日期来验证这一点。