Clase DateTimeZone
La clase DateTimeZone
permite trabajar con husos horarios en PHP.
Acepta en su constructor una cadena con el identificador de la zona horaria.
Sintaxis
new DateTimeZone(string $timezone);
Ejemplo
Creemos un objeto de zona horaria para Moscú:
<?php
$timezone = new DateTimeZone('Europe/Moscow');
print_r($timezone);
?>
Resultado de la ejecución del código:
DateTimeZone Object
(
'timezone_type' => 3
'timezone' => Europe/Moscow
)
Ejemplo
Uso con la clase DateTime
:
<?php
$timezone = new DateTimeZone('America/New_York');
$date = new DateTime('now', $timezone);
echo $date->format('Y-m-d H:i:s');
?>
Resultado de la ejecución del código (hora actual en Nueva York):
'2025-06-15 14:30:00'
Ejemplo
Obtención de la lista de todas las zonas horarias disponibles:
<?php
$timezones = DateTimeZone::listIdentifiers();
print_r(array_slice($timezones, 0, 5));
?>
Resultado de la ejecución del código:
[
'Africa/Abidjan'
'Africa/Accra'
'Africa/Addis_Ababa'
'Africa/Algiers'
'Africa/Asmara'
]
Ejemplo
Obtención del desplazamiento de la zona horaria desde UTC:
<?php
$timezone = new DateTimeZone('Asia/Tokyo');
echo $timezone->getOffset($date) / 3600;
?>
Resultado de la ejecución del código:
9
Ver también
-
clase
DateTime
,
para trabajar con fecha y hora -
clase
DateInterval
,
que define un intervalo de tiempo -
función
date_default_timezone_set
,
para establecer la zona horaria predeterminada