DateTimeZone::listIdentifiers
timezone_identifiers_list
(PHP 5 >= 5.2.0, PHP 7)
DateTimeZone::listIdentifiers -- timezone_identifiers_list — Возвращает численно индексированный массив со всеми идентификаторами временных зон
Описание
Объектно-ориентированный стиль
$what
= DateTimeZone::ALL
[, string $country
= NULL
]] )Процедурный стиль
Список параметров
-
what
-
Одна из констант класса DateTimeZone.
-
country
-
Двухбуквенный код страны, совместимый с ISO 3166-1.
Замечание: Эта опция используется только если параметр
what
установлен вDateTimeZone::PER_COUNTRY
.
Возвращаемые значения
В случае успеха возвращает массив или FALSE
в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
5.3.0 |
Добавлены необязательные параметры what и
country .
|
Примеры
Пример #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
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с датой и временем
- Дата и Время
- Функция DateTimeZone::__construct() - Создает новый объект DateTimeZone
- Функция DateTimeZone::getLocation() - Возвращает информацию о местоположении для временной зоны
- Функция DateTimeZone::getName() - Возвращает имя временной зоны
- Функция DateTimeZone::getOffset() - Возвращает смещение временной зоны от GMT
- Функция DateTimeZone::getTransitions() - Возвращает все переходы для временной зоны
- Функция DateTimeZone::listAbbreviations() - Возвращает ассоциативный массив содержащий флаг перехода на летнее время, смещение и имя временной зоны
- Функция DateTimeZone::listIdentifiers() - Возвращает численно индексированный массив со всеми идентификаторами временных зон
Коментарии
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 ||.
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.
In tests that I have done, not all time zones are returned by this function. For example the following aliases Asia/Katmandu and Asia/Calcutta are not returned, but these time zones are supported in tests that I have done such as the following:
<?php
echo date_default_timezone_set('Asia/Calcutta');
?>
result:
Fri, 19 Jun 2020 03:26:52 +0530
UTC+05:30 is the correct time zone for Calcutta.
Asia/Katmandu and Asia/Calcutta are aliases for Asia/Kathmandu and Asia/Kolkata respectively (which can be found in the list)
Hopefully this helps some people because without these time zones appearing in the list one might not know that they are supported or even exist.