Преобразование часовых поясов в PHP

Я конвертирую это время и дату:

Thu, 31 Mar 2011 02:05:59 GMT

В следующий формат времени и даты:

Monday March 28 2011 4:48:02 PM

Я использую следующий код PHP для достижения этой цели, но я хочу преобразовать все часовые пояса в PST/PDT. Я посмотрел руководство по PHP и увидел это date_default_timezone_set() но я не уверен, как реализовать это в код, который я ниже.

$date = $messages[0]->CreationTime;
echo date('l F j Y g:i:s A I', strtotime($date))

2 ответа

Решение

Я бы не использовал date_default_timezone_set для общих преобразований TZ. (Чтобы уточнить... если это для целей отображения, широкий сценарий, то разумно использовать часовой пояс по умолчанию.)

Вместо этого я бы использовал что-то вроде:

$tz = new DateTimeZone('America/Los_Angeles');

$date = new DateTime('Thu, 31 Mar 2011 02:05:59 GMT');
$date->setTimezone($tz);
echo $date->format('l F j Y g:i:s A I')."\n";
$date = $messages[0]->CreationTime;
date_default_timezone_set('America/Los_Angeles');
echo date('l F j Y g:i:s A I', strtotime($date));

Смотрите этот список для доступных часовых поясов, которые передаются в функцию

Другие вопросы по тегам