Подтвердить что ты не робот

Преобразование между часовыми поясами в 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))
4b9b3361

Ответ 1

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

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

$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";

Ответ 2

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

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