timezone_identifiers_list()
有两个参数。一种用于什么时区,以获得持续的和两个字母的国家代码,如果第一个参数是DateTimeZone::PER_COUNTRY
。因此,这将非常明白:
timezone_identifiers_list(DateTimeZone::PER_COUNTRY, 'US')
如果你想获得7名缩写,而不是29 America/City
值:
function event_tz_list() {
foreach(timezone_identifiers_list(DateTimeZone::PER_COUNTRY, 'US') as $key => $zone) {
$timestamp = time();
date_default_timezone_set($zone);
$abbrev = date('T'); // use as the key and you won't get duplicates
$zones_array[$abbrev]['zone'] = $abbrev;
$zones_array[$abbrev]['offset'] = date('P', $timestamp);
$zones_array[$abbrev]['diff_from_GMT'] = 'UTC/GMT ' . date('P', $timestamp);
}
return $zones_array;
}
print_r(event_tz_list());
产量:
Array
(
[HAST] => Array
(
[zone] => HAST
[offset] => -10:00
[diff_from_GMT] => UTC/GMT -10:00
)
[AKST] => Array
(
[zone] => AKST
[offset] => -09:00
[diff_from_GMT] => UTC/GMT -09:00
)
[MST] => Array
(
[zone] => MST
[offset] => -07:00
[diff_from_GMT] => UTC/GMT -07:00
)
[CST] => Array
(
[zone] => CST
[offset] => -06:00
[diff_from_GMT] => UTC/GMT -06:00
)
[EST] => Array
(
[zone] => EST
[offset] => -05:00
[diff_from_GMT] => UTC/GMT -05:00
)
[PST] => Array
(
[zone] => PST
[offset] => -08:00
[diff_from_GMT] => UTC/GMT -08:00
)
[HST] => Array
(
[zone] => HST
[offset] => -10:00
[diff_from_GMT] => UTC/GMT -10:00
)
)
这都说明7个时区(我学到了一些东西):
有夏威夷 - 阿留申标准时间(HAST)和夏威夷标准时间(HST)之间没有时间差。
正要编辑我的问题包括! – miken32
你真了不起!谢谢!! –
很高兴帮助,不要忘记接受答案。 – AbraCadaver