(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::setTimezone — Устанавливает часовой пояс
Метод клонирует текущий объект даты и времени DateTimeImmutable, устанавливает в копии часовой пояс и возвращает изменённую копию объекта DateTimeImmutable.
timezone
Объект DateTimeZone, который представляет часовой пояс.
Метод возвращает новый модифицированный объект DateTimeImmutable для цепочки методов. При вызове метода исходный объект, который представляет момент времени, не изменяется.
Пример #1 Пример установки часового пояса методом DateTimeImmutable::setTimeZone()
Объектно-ориентированный стиль
<?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";
?>
Результат выполнения приведённых примеров:
2000-01-01 00:00:00+12:00 2000-01-01 01:45:00+13:45