PHP: Изменение времени UTC для Pacific (PST / PDT)

У меня есть объект Datetime и получаю время со следующим:

$today = date('Ymd H:i:s', $temp['date']->getTimeStamp()); 

Я хотел бы иметь возможность конвертировать это в текущее время Калифорнии, но мне нужно учитывать PST и PDT для смещения по времени. Это может быть -7 или -8 часов в зависимости от времени года. Как я могу динамически получать $today за правильное тихоокеанское время?

Вы можете просто использовать strtotime для изменения часового пояса, например:

 date_default_timezone_set('Etc/GMT'); //Make sure the time is GMT $today = date('Ymd H:i:s'); echo $today."\n"; $today_utc = date('Ymd H:i:s', strtotime( $today." GMT+3")); echo $today_utc."\n"; $today_9 = date('Ymd H:i:s', strtotime( $today." GMT-9")); echo $today_9; 

demo: http://sandbox.onlinephpfunctions.com/code/f08c0c69b415464bbee68fd1cdaaf1e7f4f1872b

Таким образом, в вашем случае ваш код может быть:

 $today = date('Ymd H:i:s', $temp['date']->getTimeStamp()); $today = date('Ymd H:i:s', strtotime( $today." GMT-9"));