Я пытаюсь преобразовать временную метку RFC в дружественную дату с помощью PHP. Вот пример:
Wed, 17 Feb 2010 19:44:01 -0500
Я бы хотел, чтобы это печаталось так:
Wed, 17 Feb 2010 19:44:01 EST
Использование date () + strtotime () не похоже на трюк, потому что оно преобразует его в часовой пояс сервера (в моем случае PST).
Есть ли простой способ сделать это для всех смещений GMT? Похоже, должно быть.
см. strototime()
и date()
echo date('D, j MYG:i:s T', strtotime('Wed, 17 Feb 2010 19:44:01 -0500)); //Wed, 17 Feb 2010 19:44:01 EST
Обновление: для установки часового пояса см. date_timezone_set()
. Если вам нужно установить часовой пояс в соответствии со смещением в строке, вам может понадобиться выполнить синтаксический анализ. Для некоторой помощи см. date_parse_from_format()
и связанные функции getdate (), date_parse () и т. Д. http://us2.php.net/manual/en/ref.datetime.php
Используйте функцию date
вместе с strtotime, например, что-то вроде этого:
print date("format-here", strtotime("Wed, 17 Feb 2010 19:44:01 -0500"));
Примечание. Функция strtotime нуждается в правильной / приемлемой строке даты.
Если вам нужно конвертировать в местное время, см. Следующие ссылки:
http://www.askdavetaylor.com/how_do_i_get_local_time_with_the_php_time_function.html
Проблема в том, что, хотя EST равно UTC – 5 часов, -0500 также может означать другие временные интервалы, такие как CDT, который является центральным часовым поясом во время летнего времени.
Так просто поставить, нет однозначного сопоставления. Помимо смещения временной зоны, вам также необходимо знать местоположение, чтобы определить дружественное имя. Вот почему операционные системы запрашивают ваш город при настройке часового пояса.