У меня есть объект 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"));