DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::listIdentifiers -- timezone_identifiers_list返回一个包含了所有时区标示符的索引数组。

说明

面向对象风格

public static DateTimeZone::listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] ) : array

过程化风格

timezone_identifiers_list ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] ) : array

参数

what

DateTimeZone 类中的常量之一。

country

由两个字母组成,ISO 3166-1 兼容的国家代码。

Note: 只有当 what 被设置为DateTimeZone::PER_COUNTRY时,该选项才会被使用。

返回值

成功,返回数组,失败则返回FALSE.

更新日志

版本 说明
5.3.0 添加可选的 whatcountry 参数。

范例

Example #1 timezone_identifiers_list() 函数的范例:

<?php
$timezone_identifiers 
DateTimeZone::listIdentifiers();
for (
$i=0$i 5$i++) {
    echo 
"$timezone_identifiers[$i]\n";
}
?>

以上例程的输出类似于:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

参见

User Contributed Notes

repohelga at example dot com 07-Nov-2019 01:42
Beware that the ISO 3166-1 country code passed to second parameter $country has to be in capital letters (eg. 'US', 'DE', ...).
Passing the country code in lower case like 'us' or 'de' will not return the failure-value false but just an empty array.
kalle at example dot com 02-Feb-2016 09:36
Even though the manual currently says that the first parameter has to be "One of DateTimeZone class constants", you may actually combine these constants:

<?php
  $a
= DateTimeZone::listIdentifiers(DateTimeZone::AFRICA); //gives africa time zones
 
$b = DateTimeZone::listIdentifiers(DateTimeZone::AMERICA); //gives american time zones
 
$c = DateTimeZone::listIdentifiers(DateTimeZone::AFRICA | DateTimeZone::AMERICA); //gives both african and american time zones
?>

Be sure to use |, not ||.