У меня есть отметка времени, в которую пользователь входит в GMT.
Затем я хотел бы отобразить эту метку времени в gmt, cet, pst, est.
Благодаря сообщению ниже я сделал, который работает отлично!
public static function make_timezone_list($timestamp, $output='Ymd H:i:s P') { $return = array(); $date = new DateTime(date("Ymd H:i:s", $timestamp)); $timezones = array( 'GMT' => 'GMT', 'CET' => 'CET', 'EST' => 'EST', 'PST' => 'PST' ); foreach ($timezones as $timezone => $code) { $date->setTimezone(new DateTimeZone($code)); $return[$timezone] = $date->format($output); } return $return; }
Вы можете использовать класс DateTime
PHp 5. Он позволяет очень мелкомасштабно управлять настройками и выходом Timezone. Исправлено из руководства:
$timestamp = .......; $date = new DateTime("@".$timestamp); // will snap to UTC because of the // "@timezone" syntax echo $date->format('Ymd H:i:sP') . "<br>"; // UTC time $date->setTimezone(new DateTimeZone('Pacific/Chatham')); echo $date->format('Ymd H:i:sP') . "<br>"; // Pacific time $date->setTimezone(new DateTimeZone('Europe/Berlin')); echo $date->format('Ymd H:i:sP') . "<br>"; // Berlin time