Преобразование смещения временной зоны в дружественное имя в PHP

Я пытаюсь преобразовать временную метку RFC в дружественную дату с помощью PHP. Вот пример:

Wed, 17 Feb 2010 19:44:01 -0500 

Я бы хотел, чтобы это печаталось так:

 Wed, 17 Feb 2010 19:44:01 EST 

Использование date () + strtotime () не похоже на трюк, потому что оно преобразует его в часовой пояс сервера (в моем случае PST).

Есть ли простой способ сделать это для всех смещений GMT? Похоже, должно быть.

Solutions Collecting From Web of "Преобразование смещения временной зоны в дружественное имя в PHP"

см. 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

http://php.net/manual/en/function.localtime.php

Проблема в том, что, хотя EST равно UTC – 5 часов, -0500 также может означать другие временные интервалы, такие как CDT, который является центральным часовым поясом во время летнего времени.

Так просто поставить, нет однозначного сопоставления. Помимо смещения временной зоны, вам также необходимо знать местоположение, чтобы определить дружественное имя. Вот почему операционные системы запрашивают ваш город при настройке часового пояса.