(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)
IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Устанавливает часовой пояс средства форматирования
Объектно-ориентированный стиль
Процедурный стиль
$formatter, IntlTimeZone|DateTimeZone|string|null $timezone): boolУстанавливает часовой пояс, используемый объектом IntlDateFormatter.
formatterРесурс средства форматирования.
timezoneЧасовой пояс для средства форматирования. Можно указать в следующих форматах:
   Если null, то будет использован часовой пояс по умолчанию, заданная в
   ini-настройки date.timezone либо
   с помощью функции date_default_timezone_set() и
   возвращённая функцией date_default_timezone_get().
  
Объект класса IntlTimeZone.
Объект класса DateTimeZone. Его идентификатор будет извлечён и на его основе будет создан объект часового пояса ICU; часовой пояс будет сохранён в базе данных ICU, а не PHP.
   Строка, являющаяся корректным идентификатором часового пояса ICU.
   Смотрите IntlTimeZone::createTimeZoneIDEnumeration().
   "Сырые" смещения, типа "GMT+08:30", также поддерживаются.
  
   Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
  
| Версия | Описание | 
|---|---|
| 8.3.0 | Функция теперь возвращает trueв случае успешного выполнения; ранее она возвращалаnull. | 
Пример #1 Пример использования IntlDateFormatter::setTimeZone()
<?php
ini_set('date.timezone', 'Europe/Amsterdam');
$formatter = IntlDateFormatter::create(NULL, NULL, NULL, "UTC");
$formatter->setTimeZone(NULL);
echo "NULL\n    ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('Europe/Rome');
echo "String\n    ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('GMT+00:30');
print_r($formatter->getTimeZone());Результат выполнения приведённого примера:
NULL
    Europe/Amsterdam
IntlTimeZone
    Europe/Lisbon
DateTimeZone
    Europe/Paris
String
    Europe/Rome
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+00:30
    [rawOffset] => 1800000
    [currentOffset] => 1800000
)
