timezone_identifiers_list()
Введение
Идентификаторы часовых поясов PHP — это строки, используемые для указания часового пояса для заданной даты или времени. Они следуют формату Area/Location (например, America/New_York, Europe/London) и основаны на базе данных часовых поясов IANA. Эти идентификаторы можно использовать с функцией date_default_timezone_set() для установки часового пояса по умолчанию для скрипта или с классом DateTimeZone для создания нового объекта часового пояса.
Функция timezone_identifiers_list() возвращает массив всех поддерживаемых идентификаторов часовых поясов. Это полезно для создания выпадающих списков или проверки ввода пользователя.
Как использовать timezone_identifiers_list() в PHP?
<?php
$identifiers = timezone_identifiers_list();
print_r($identifiers);Функция возвращает массив с числовыми индексами, содержащий строки вида Africa/Abidjan, America/New_York, Asia/Tokyo и т. д. Вы можете перебирать этот массив для отображения доступных часовых поясов:
<?php
foreach (timezone_identifiers_list() as $tz) {
echo $tz . "\n";
}Чтобы применить один из этих идентификаторов, передайте его в date_default_timezone_set() или new DateTimeZone(). Например, чтобы установить часовой пояс Eastern Standard Time (EST), используйте следующий код:
Как использовать идентификатор часового пояса в PHP?
<?php
date_default_timezone_set('America/New_York');В качестве альтернативы вы можете использовать класс DateTimeZone для создания нового объекта часового пояса и указать идентификатор в качестве параметра. Например:
Как использовать класс DateTimeZone в PHP?
<?php
$timezone = new DateTimeZone('Asia/Tokyo');Это создает новый объект часового пояса для часового пояса Asia/Tokyo.
Важно отметить, что некоторые идентификаторы часовых поясов могут не поддерживаться на всех системах или быть устаревшими. Для обеспечения совместимости и точности мы рекомендуем использовать базу данных часовых поясов, поддерживаемую Internet Assigned Numbers Authority (IANA).
В дополнение к стандартным идентификаторам часовых поясов, PHP также поддерживает пользовательские часовые пояса. Их можно указать с помощью смещения UTC. Например, чтобы указать смещение UTC на -8 часов, используйте следующий код:
Пример пользовательских часовых поясов в PHP
<?php
$timezone = new DateTimeZone('-08:00');Это создает новый объект часового пояса со смещением UTC на -8 часов.
В целом, timezone_identifiers_list() предоставляет мощный и гибкий способ управления часовыми поясами в ваших PHP-приложениях. Используя правильный идентификатор для вашего региона, вы можете обеспечить точные и согласованные вычисления времени во всех ваших системах.
Практика
Which of the following is a valid timezone identifier in PHP?