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

Метод возвращает список » идентификаторов часовых поясов, которые определила администрация IANA.

Замечание: Для определения часового пояса клиента, например браузера, в JavaScript обращаются к объекту » Intl.DateTimeFormat или » Temporal.ZonedDateTime.

Список параметров

timezoneGroup

Константа или комбинация констант класса DateTimeZone.

countryCode

Двухбуквенный код страны в верхнем регистре, совместимый со стандартом ISO 3166-1.

Замечание: Параметр требуется и влияет на результат только при установке для параметра timezoneGroup флага DateTimeZone::PER_COUNTRY.

Возвращаемые значения

Метод возвращает массив идентификаторов часовых поясов. Возвращаются только неустаревшие элементы. При передаче в параметр timezoneGroup флага DateTimeZone::ALL_WITH_BC метод возвращает все идентификаторы часовых поясов, включая устаревшие.

Список изменений

Версия Описание
8.0.0 До этой версии при ошибке возвращалось значение false.
7.1.0 Параметр countryCode теперь принимает значение null.

Примеры

Пример #1 Пример получения списка идентификаторов часовых поясов с комментарием о расположении

<?php

$identifiers
= DateTimeZone::listIdentifiers(DateTimeZone::ALL);

foreach (
$identifiers as $tzid) {
$tz = new DateTimeZone($tzid);
$comments = $tz->getLocation()['comments'];
echo
$tzid . " (" . ($comments ?: 'Whole region') . ")\n";
}

Вывод приведённого примера будет похож на:

America/Antigua (Whole region)
America/Araguaina (Tocantins)
America/Argentina/Buenos_Aires (Buenos Aires (BA, CF))
America/Argentina/Catamarca (Catamarca (CT), Chubut (CH))
America/Argentina/Cordoba (Argentina (most areas: CB, CC, CN, ER, FM, MN, SE, SF))
// (Только фрагмент вывода, из-за длины)

Пример #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