Либо я схожу с ума, либо не имею ни малейшего представления о том, что делаю. Я склоняюсь к последнему.
Я пытаюсь преобразовать это: 1316826000, что, я уверен, должно быть сб, 24 сентября 2011 г., 01:00:00 по Гринвичу.
http://www.onlineconversion.com/unix_time.htm подтверждает это.
http://www.unixtimestamp.com/index.php говорит мне 23 09 / 11 @ 20:00:00 по восточному поясному времени, пока все хорошо. Я оказался в EST, это результат, который я хотел бы получить от PHP.
Когда я делаю date('l, M d, Y, h:ia', $iTime), я получаю: пятница, 23 сентября 2011 г., 00:00, полные 20 часов выходных.
Я подтвердил правильность времени сервера, используя дату ('c'). вывод даты ('c'): 2012-05-19T03:19:20+00:00. Сервер находится в центральном часовом поясе, где сейчас 22:20. 18 мая.
echo date_default_timezone_get() выводит "GMT" (устанавливается где-то еще в скрипте с помощью date_default_timezone_set('GMT'))
Что мне не хватает? Ничто из того, что я читал до сих пор, не может объяснить, как я получаю результат на 20 часов позже, чем должен быть. Если бы это был час быстро или медленно, я мог бы, по крайней мере, понять, что это какой-то идиотизм перехода на летнее время, но 20? Сумасшествие! Спасибо за чтение!
date_default_timezone_set
переключить свой часовой пояс на EST? - person deceze♦   schedule 19.05.2012print(date('l, M d, Y, h:ia', 1316826000))
печатаетFriday, Sep 23, 2011, 09:00pm
. - person Mark Reed   schedule 19.05.2012