(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::__construct -- timezone_open — Создаёт новый объект DateTimeZone
Объектно-ориентированный стиль
Процедурный стиль
Создаёт новый объект DateTimeZone.
   Объект DateTimeZone предоставляет доступ к трём различным типам правил временных зон:
   Смещение UTC (тип 1),
   сокращение часового пояса (тип 2)
   и идентификаторы часовых поясов, опубликованные в базе данных часовых поясов IANA (тип 3).
  
Объект DateTimeZone может быть присоединён к объектам DateTime и DateTimeImmutable, чтобы иметь возможность отображать часовой пояс, заключённый в этих объектах в локальном часовом поясе.
timezoneОдно из поддерживаемых имён часовых поясов или значение смещения (+0200) или аббревиатура часового пояса (BST).
   В случае успешного выполнения возвращает DateTimeZone.
   Процедурный стиль возвращает false, если возникла ошибка.
  
Если часовой пояс не распознается как действительный, выбрасывается исключение DateInvalidTimeZoneException. До PHP 8.3 вместо этого выбрасывалось исключение Exception.
| Версия | Описание | 
|---|---|
| 8.3.0 | Теперь из-за недопустимых значений вместо общего исключения Exception выбрасывается исключение DateInvalidTimeZoneException. | 
Пример #1 Создание и присоединение DateTimeZone к DateTimeImmutable
<?php
$d = new DateTimeImmutable("2022-06-02 15:44:48 UTC");
$timezones = [ 'Europe/London', 'GMT+04:45', '-06:00', 'CEST' ];
foreach ($timezones as $tz) {
    $tzo = new DateTimeZone($tz);
    $local = $d->setTimezone($tzo);
    echo $local->format(DateTimeInterface::RFC2822 . ' — e'), "\n";
}
?>Результат выполнения приведённого примера:
Пример #2 Перехват ошибок при создании экземпляра DateTimeZone
<?php
// Обработка ошибок с помощью перехвата исключений
$timezones = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');
foreach ($timezones as $tz) {
    try {
        $mars = new DateTimeZone($tz);
    } catch(Exception $e) {
        echo $e->getMessage() . '<br />';
    }
}
?>Результат выполнения приведённого примера:
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos) DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)
