Преобразование часовых поясов в 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));
Смотрите этот список для доступных часовых поясов, которые передаются в функцию