(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::setTimezone — Establece la zona horaria
Devuelve un nuevo objeto DateTimeImmutable con una nueva zona horaria establecida.
timezone
Un objeto DateTimeZone que representa la zona horaria deseada.
Devuelve un nuevo objeto DateTimeImmutable modificado para encadenar métodos. El instante subyacente no se modifica al llamar a este método.
Ejemplo #1 Ejemplo de DateTimeImmutable::setTimeZone()
Estilo orientado a objetos
<?php
$date = new DateTimeImmutable('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
$newDate = $date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $newDate->format('Y-m-d H:i:sP') . "\n";
?>
El resultado de los ejemplos sería:
2000-01-01 00:00:00+12:00 2000-01-01 01:45:00+13:45