DateTimeZone::__construct

timezone_open

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::__construct -- timezone_openErstellt neues DateTimeZone-Objekt

Beschreibung

Objektorientierter Stil

public DateTimeZone::__construct(string $timezone)

Prozeduraler Stil

timezone_open(string $timezone): DateTimeZone|false

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.

Parameter-Liste

timezone

Eine der unterstützten Zeitzonen-Kennungen, ein Offset-Wert (+0200) oder eine Zeitzonen-Abkürzung (BST).

Rückgabewerte

Gibt bei Erfolg ein DateTimeZone-Objekt zurück. Prozeduraler Stil Im Fehlerfall wird false zurückgegeben.

Fehler/Exceptions

Wenn die angegebene Zeitzone als nicht korrekt eingestuft wird, löst diese Methode eine Exception aus.

Beispiele

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:


Thu, 02 Jun 2022 16:44:48 +0100 — Europe/London
Thu, 02 Jun 2022 20:29:48 +0445 — +04:45
Thu, 02 Jun 2022 09:44:48 -0600 — -06:00
Thu, 02 Jun 2022 17:44:48 +0200 — CEST

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)

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top