我知道这听起来会很奇怪..但是它正在发生..
我正在尝试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和DST标记打印日期之前和之后进行验证.