从时区标识符(如“America / Los_Angeles”)开始,您如何在
PHP中找到该时区的名称和缩写?例如:
'PST','Pacific Standard Time','PDT','Pacific Daylight Time'
如果我只能得到简短的缩写(‘PST’和’PDT’),那就可以了.
我查看了DateTimeZone::listAbbreviations()
,并检查了看到哪个对应于我的ID,但是对于美国/ Los_Angeles,它找到了稍微好奇的“PST”,“PDT”,“PPT”和“PWT”.
我希望这有帮助:
function get_timezone_abbreviation($timezone_id) { if($timezone_id){ $abb_list = timezone_abbreviations_list(); $abb_array = array(); foreach ($abb_list as $abb_key => $abb_val) { foreach ($abb_val as $key => $value) { $value['abb'] = $abb_key; array_push($abb_array,$value); } } foreach ($abb_array as $key => $value) { if($value['timezone_id'] == $timezone_id){ return strtoupper($value['abb']); } } } return FALSE; }
get_timezone_abbreviation( ‘美国/纽约’);
你得到:
美东时间