IntlDateFormatter::setTimeZone

datefmt_set_timezone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)

IntlDateFormatter::setTimeZone -- datefmt_set_timezoneУстанавливает часовой пояс средства форматирования

Описание

Объектно-ориентированный стиль

public IntlDateFormatter::setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): ?bool

Процедурный стиль

datefmt_set_timezone(IntlDateFormatter $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", также поддерживаются.

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

Возвращает null в случае успешного выполнения и false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования IntlDateFormatter::setTimeZone()

<?php
ini_set
('date.timezone''Europe/Amsterdam');

$formatter IntlDateFormatter::create(NULLNULLNULL"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
)

Смотрите также

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top