Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте


(PHP 5 >= 5.1.0)

date_default_timezone_get Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте

Описание

string date_default_timezone_get ( void )

Функция пытается получить временную зону по умолчанию по порядку следующими способами:

  • Чтение настройки временной зоны с помощью функции date_default_timezone_set() (если применимо)

  • Только до версии PHP 5.4.0: чтение переменной окружения TZ (если она не пуста)

  • Чтение значения ini настройки date.timezone (если задана)

  • Только до версии PHP 5.4.0: опрос операционной системы (если поддерживается и разрешено ОС). При этом используется механизм угадывания временной зоны. Этот механизм не всегда корректно работает. Если используется этот метод (все предыдущие не дали результата), будет выдано предупреждение. Не стоит полагаться на результат, полученный этим способом, вместо этого лучше задать в параметрах временной зоны date.timezone правильное значение.

Если ни один из способов не принес результата, date_default_timezone_get() вернет временную зону UTC.

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

Возвращает string.

Список изменений

Версия Описание
5.4.0 Переменная окружения TZ больше не используется при угадывании временной зоны.
5.4.0 Временная зона больше не угадывается с помощью информации, полученной из операционной системы, так как данный метод нестабилен и на него нельзя полагаться.

Примеры

Пример #1 Получение временной зоны по умолчанию

<?php
date_default_timezone_set
('Europe/London');

if (
date_default_timezone_get()) {
    echo 
'date_default_timezone_set: ' date_default_timezone_get() . '<br />';
}

if (
ini_get('date.timezone')) {
    echo 
'date.timezone: ' ini_get('date.timezone');
}

?>

Результатом выполнения данного примера будет что-то подобное:

 date_default_timezone_set: Europe/London date.timezone: Europe/London 

Пример #2 Получение аббревиатуры временной зоны

<?php
date_default_timezone_set
('America/Los_Angeles');
echo 
date_default_timezone_get() . ' => ' date('e') . ' => ' date('T');
?>

Результат выполнения данного примера:

 America/Los_Angeles => America/Los_Angeles => PST 

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