我知道这听起来很奇怪..但它正在发生......
我正在尝试使用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。
答案 0 :(得分:3)
您的时区设置为2014年3月30日制定夏令时的区域,因此后一个日期最终会调整为夏令时,并且比您预期的数学时间晚一个小时。
http://www.timeanddate.com/news/time/europe-starts-dst-2014.html
您可以使用e
面具中包含的时区标记I
和DST标记date
打印您的前后日期来验证这一点。
答案 1 :(得分:0)
也许您可以尝试在代码之前添加此行
ini_set('date.timezone','UTC');