1 час пропущен, когда я добавляю секунды вручную
Я знаю, это будет звучать странно... но это происходит..
я стараюсь 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.
2 ответа
В качестве часового пояса выбран регион, для которого летнее время введено в действие 30 марта 2014 года, поэтому последняя дата заканчивается корректировкой на летнее время и на один час позже, чем вы ожидаете математически.
http://www.timeanddate.com/news/time/europe-starts-dst-2014.html
В этом можно убедиться, напечатав даты до и после с помощью маркера часового пояса. e
и маркер DST I
включен в date
маска
Может быть, вы можете попробовать добавить эту строку перед вашим кодом
ini_set('date.timezone','UTC');