(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::__construct -- timezone_open — Erstellt neues DateTimeZone-Objekt
Objektorientierter Stil
Prozeduraler Stil
Erstellt neues DateTimeZone-Objekt.
Ein DateTimeZone-Objekt bietet Zugriff auf drei verschiedene Arten von
Zeitzonen-Regeln: UTC-Offset (Typ 1
),
Zeitzonen-Abkürzung (Typ 2
), und
Zeitzonen-Kennungen wie in der
IANA-Zeitzonendatenbank angegeben (Typ 3
).
Das DateTimeZone-Objekt kann an DateTime- und DateTimeImmutable-Objekte angehängt werden, um die Zeitzone, die in diesen Objekten enthalten ist, in einer lokalen Zeitzone wiederzugeben.
timezone
Eine der unterstützten Zeitzonen-Kennungen, ein Offset-Wert (+0200) oder eine Zeitzonen-Abkürzung (BST).
Gibt bei Erfolg ein DateTimeZone-Objekt zurück.
Prozeduraler Stil Im Fehlerfall wird false
zurückgegeben.
Wenn die angegebene Zeitzone als nicht korrekt eingestuft wird, wirft diese Methode eine DateInvalidTimeZoneException. Vor PHP 8.3 wird stattdessen eine Exception geworfen.
Version | Beschreibung |
---|---|
8.3.0 | Ungültige Werte geben nun eine DateInvalidTimeZoneException statt einer allgemeinen Exception zurück. |
Beispiel #1 Erstellen und Anhängen von DateTimeZone an ein DateTimeImmutable
<?php
$d = new DateTimeImmutable("2022-06-02 15:44:48 UTC");
$timezones = [ 'Europe/London', 'GMT+04:45', '-06:00', 'CEST' ];
foreach ($timezones as $tz) {
$tzo = new DateTimeZone($tz);
$local = $d->setTimezone($tzo);
echo $local->format(DateTimeInterface::RFC2822 . ' — e'), "\n";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Beispiel #2 Fehler beim Initialisieren von DateTimeZone abfangen
<?php
// Fehlerbehandlung durch Abfangen von Exceptions
$timezones = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');
foreach ($timezones as $tz) {
try {
$mars = new DateTimeZone($tz);
} catch(Exception $e) {
echo $e->getMessage() . '<br />';
}
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos) DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)