(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTime::setTimezone -- date_timezone_set — Legt die Zeitzone für ein DateTime-Objekt fest
Objektorientierter Stil
Prozeduraler Stil
Legt eine neue Zeitzone für ein DateTime-Objekt fest.
Wie DateTimeImmutable::setTimezone(), verwendet aber DateTime.
Die prozedurale Version verwendet das DateTime-Objekt als ersten Parameter.
object
Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.
timezone
Ein DateTimeZone-Objekt, das die gewünschte Zeitzone repräsentiert.
Gibt das DateTime-Objekt für die Methodenverkettung zurück. Der zugrunde liegende Zeitpunkt wird beim Aufruf dieser Methode nicht verändert.
Beispiel #1 DateTime::setTimeZone()-Beispiel
Objektorientierter Stil
<?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";
?>
Prozeduraler Stil
<?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";
?>
Die obigen Bespiele erzeugen folgende Ausgabe:
2000-01-01 00:00:00+12:00 2000-01-01 01:45:00+13:45