Método setTimezone de la clase DateTime
El método setTimezone cambia la zona horaria del objeto DateTime. Como parámetro acepta un objeto de la clase DateTimeZone. Retorna el objeto DateTime modificado.
Sintaxis
public DateTime::setTimezone(DateTimeZone $timezone): DateTime
Ejemplo
Establezcamos la zona horaria 'America/New_York' para la fecha actual:
<?php
$date = new DateTime('now', new DateTimeZone('UTC'));
$date->setTimezone(new DateTimeZone('America/New_York'));
echo $date->format('Y-m-d H:i:s');
?>
Resultado de la ejecución del código:
'2023-11-15 10:30:00'
Ejemplo
Cambiemos la zona horaria de un objeto DateTime existente:
<?php
$date = new DateTime('2023-01-01 12:00:00', new DateTimeZone('Europe/Moscow'));
$date->setTimezone(new DateTimeZone('Asia/Tokyo'));
echo $date->format('Y-m-d H:i:s');
?>
Resultado de la ejecución del código:
'2023-01-01 18:00:00'
Ver también
-
la función
date,
que formatea una fecha/hora -
la función
date_default_timezone_set,
que establece la zona horaria predeterminada -
la clase
DateTimeZone,
que representa una zona horaria