Класс DateTimeZone
Класс DateTimeZone
позволяет работать с часовыми поясами в PHP.
Принимает в конструкторе строку с идентификатором временной зоны.
Синтаксис
new DateTimeZone(string $timezone);
Пример
Создадим объект временной зоны для Москвы:
<?php
$timezone = new DateTimeZone('Europe/Moscow');
print_r($timezone);
?>
Результат выполнения кода:
DateTimeZone Object
(
'timezone_type' => 3
'timezone' => Europe/Moscow
)
Пример
Использование с классом DateTime
:
<?php
$timezone = new DateTimeZone('America/New_York');
$date = new DateTime('now', $timezone);
echo $date->format('Y-m-d H:i:s');
?>
Результат выполнения кода (текущее время в Нью-Йорке):
'2025-06-15 14:30:00'
Пример
Получение списка всех доступных временных зон:
<?php
$timezones = DateTimeZone::listIdentifiers();
print_r(array_slice($timezones, 0, 5));
?>
Результат выполнения кода:
[
'Africa/Abidjan'
'Africa/Accra'
'Africa/Addis_Ababa'
'Africa/Algiers'
'Africa/Asmara'
]
Пример
Получение смещения временной зоны от UTC:
<?php
$timezone = new DateTimeZone('Asia/Tokyo');
echo $timezone->getOffset($date) / 3600;
?>
Результат выполнения кода:
9
Смотрите также
-
класс
DateTime
,
для работы с датой и временем -
класс
DateInterval
,
который задает временной интервал -
функцию
date_default_timezone_set
,
для установки временной зоны по умолчанию