PHPCon Poland 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

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top