DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7)

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

说明

面向对象风格

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

过程化风格

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

参数

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

kalle at example dot com 02-Feb-2016 06: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 ||.