【发布时间】:2011-05-10 08:50:35
【问题描述】:
我有一个用户在 GMT 中输入的时间戳。
然后我想以 gmt、cet、pst、est 显示该时间戳。
感谢我在下面发布的帖子,效果很好!
public static function make_timezone_list($timestamp, $output='Y-m-d H:i:s P') {
$return = array();
$date = new DateTime(date("Y-m-d 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;
}
【问题讨论】:
-
查找相对于 GMT 的时区偏移量,并将其添加到您当前的 GMT 时间戳中。
-
时区的完美答案...stackoverflow.com/a/3905222/1266559
-
通过谷歌来到这里。您问题中的示例与接受的答案相同(它使用 DateTIme),我不明白问题是什么,因为您说“它工作得很好”。另外,我不明白您为什么接受与您问题中的代码完全相同的答案。