array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'de', ), 'this' => array ( 0 => 'datetime.settimezone.php', 1 => 'DateTime::setTimezone', ), 'up' => array ( 0 => 'class.datetime.php', 1 => 'DateTime', ), 'prev' => array ( 0 => 'datetime.settimestamp.php', 1 => 'DateTime::setTimestamp', ), 'next' => array ( 0 => 'datetime.sub.php', 1 => 'DateTime::sub', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'de', 'path' => 'reference/datetime/datetime/settimezone.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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