(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTime::setTimezone -- date_timezone_set — Establece la zona horaria para el objeto DateTime
Estilo orientado a objetos
Estilo procedimental
Establece una nueva zona horaria para un object de DateTime.
Igual que DateTimeImmutable::setTimezone() pero funciona con DateTime.
La versión procedural toma el objeto DateTime como su primer argumento.
object
Solo en estilo procedimental: Un objeto DateTime retornado por la función date_create(). Esta función modifica este objeto.
timezone
Un objeto DateTimeZone que representa la zona horaria deseada.
Devuelve el objeto DateTime para encadenar métodos. El punto en el tiempo subyacente no cambia al llamar a este método.
Ejemplo #1 Ejemplo de DateTime::setTimeZone()
Estilo orientado a objetos
<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>
Estilo procedimental
<?php
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
?>
Los ejemplos anteriores mostrarán :
2000-01-01 00:00:00+12:00 2000-01-01 01:45:00+13:45