PHP Conference Japan 2024

DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::listIdentifiers -- timezone_identifiers_list傳回包含所有已定義時區識別碼的數值索引陣列

說明

物件導向風格

public static DateTimeZone::listIdentifiers(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): array

程序式風格

timezone_identifiers_list(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): array

參數

timezoneGroup

DateTimeZone 類別常數的其中一個(或組合)。

countryCode

一個兩字母(大寫)符合 ISO 3166-1 規範的國家代碼。

注意: 只有當 timezoneGroup 設定為 DateTimeZone::PER_COUNTRY 時,才會使用此選項。

回傳值

返回時區識別碼的陣列。只會返回未過時的項目。要取得所有項目,包含過時的時區識別碼,請使用 DateTimeZone::ALL_WITH_BC 作為 timezoneGroup 的值。

更新日誌

版本 說明
8.0.0 在此版本之前,失敗時會返回 false
7.1.0 countryCode 現在可以為 null。

範例

範例 #1 DateTimeZone::listIdentifiers() 範例

<?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

範例 #2 列出特定區域的識別碼

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

上述範例將輸出類似以下內容

Asia/Aden
Asia/Almaty
Asia/Amman
Asia/Anadyr
Asia/Aqtau

範例 #3 列出多個區域的識別碼

<?php
$timezone_identifiers
= DateTimeZone::listIdentifiers( DateTimeZone::ASIA | DateTimeZone::PACIFIC );
echo
join( ', ', $timezone_identifiers );
?>

上述範例將輸出類似以下內容

Asia/Aden, Asia/Almaty, Asia/Amman, Asia/Anadyr, Asia/Aqtau, Asia/Aqtobe,
Asia/Ashgabat, Asia/Atyrau, Asia/Baghdad, Asia/Bahrain, Asia/Baku,
Asia/Bangkok, Asia/Barnaul, Asia/Beirut, Asia/Bishkek, Asia/Brunei,
Asia/Chita, Asia/Choibalsan, Asia/Colombo, Asia/Damascus, Asia/Dhaka,
Asia/Dili, Asia/Dubai, Asia/Dushanbe, Asia/Famagusta, Asia/Gaza, Asia/Hebron,
Asia/Ho_Chi_Minh, Asia/Hong_Kong, Asia/Hovd, Asia/Irkutsk, Asia/Jakarta,
Asia/Jayapura, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi,
Asia/Kathmandu, Asia/Khandyga, Asia/Kolkata, Asia/Krasnoyarsk,
Asia/Kuala_Lumpur, Asia/Kuching, Asia/Kuwait, Asia/Macau, Asia/Magadan,
Asia/Makassar, Asia/Manila, Asia/Muscat, Asia/Nicosia, Asia/Novokuznetsk,
Asia/Novosibirsk, Asia/Omsk, Asia/Oral, Asia/Phnom_Penh, Asia/Pontianak,
Asia/Pyongyang, Asia/Qatar, Asia/Qostanay, Asia/Qyzylorda, Asia/Riyadh,
Asia/Sakhalin, Asia/Samarkand, Asia/Seoul, Asia/Shanghai, Asia/Singapore,
Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran,
Asia/Thimphu, Asia/Tokyo, Asia/Tomsk, Asia/Ulaanbaatar, Asia/Urumqi,
Asia/Ust-Nera, Asia/Vientiane, Asia/Vladivostok, Asia/Yakutsk, Asia/Yangon,
Asia/Yekaterinburg, Asia/Yerevan, Pacific/Apia, Pacific/Auckland,
Pacific/Bougainville, Pacific/Chatham, Pacific/Chuuk, Pacific/Easter,
Pacific/Efate, Pacific/Fakaofo, Pacific/Fiji, Pacific/Funafuti,
Pacific/Galapagos, Pacific/Gambier, Pacific/Guadalcanal, Pacific/Guam,
Pacific/Honolulu, Pacific/Kanton, Pacific/Kiritimati, Pacific/Kosrae,
Pacific/Kwajalein, Pacific/Majuro, Pacific/Marquesas, Pacific/Midway,
Pacific/Nauru, Pacific/Niue, Pacific/Norfolk, Pacific/Noumea,
Pacific/Pago_Pago, Pacific/Palau, Pacific/Pitcairn, Pacific/Pohnpei,
Pacific/Port_Moresby, Pacific/Rarotonga, Pacific/Saipan, Pacific/Tahiti,
Pacific/Tarawa, Pacific/Tongatapu, Pacific/Wake, Pacific/Wallis

範例 #4 列出單一國家的識別碼

<?php
$timezone_identifiers
= DateTimeZone::listIdentifiers( DateTimeZone::PER_COUNTRY, "UA" );
foreach(
$timezone_identifiers as $identifier ) {
echo
"$identifier\n";
}
?>

上述範例將輸出類似以下內容

Europe/Kyiv
Europe/Simferopol
Europe/Uzhgorod
Europe/Zaporozhye

另請參閱

新增註記

使用者提供的註記

此頁面沒有使用者提供的註記。
To Top