Start · Sprachen · PHP · Referenz · intltz_get_id

intltz_get_id

Funktion

Liefert die Zeitzonen-ID (z. B. <code>Europe/Berlin</code>) eines <code>IntlTimeZone</code>-Objekts als Zeichenkette.

seit PHP 5.5.0 Kategorie: string

Signatur

intltz_get_id(IntlTimeZone $timezone): string|false

Beschreibung

intltz_get_id() ist die prozedurale Variante der Methode IntlTimeZone::getID() und gibt den eindeutigen Bezeichner einer Zeitzone zurück, wie er vom ICU-Bibliothekssystem definiert wird. Typische Bezeichner folgen dem IANA-Format, z. B. Europe/Berlin, America/New_York oder UTC.

Die Funktion ist nützlich, wenn man mit IntlTimeZone-Objekten arbeitet und den Bezeichner für die Weiterverarbeitung, Anzeige oder Speicherung in einer Datenbank benötigt. Sie kann beispielsweise nach dem Erstellen einer Zeitzone via IntlTimeZone::createTimeZone() oder IntlTimeZone::createDefault() aufgerufen werden, um den tatsächlich verwendeten Bezeichner zu ermitteln.

Im objektorientierten Stil steht die äquivalente Methode IntlTimeZone::getID() zur Verfügung. Beide Varianten liefern identische Ergebnisse. Bei ungültigen Zeitzonenobjekten wird false zurückgegeben.

Parameter

Name Typ Default Beschreibung
$timezone Pflicht IntlTimeZone Ein gültiges IntlTimeZone-Objekt, dessen ID abgefragt werden soll.

Rückgabewert

Typ
string|false
Beschreibung
Gibt die Zeitzonen-ID als Zeichenkette zurück (z. B. Europe/Berlin). Gibt false zurück, wenn das Objekt ungültig ist oder die ID nicht ermittelt werden konnte.

Beispiele

Zeitzonen-ID einer Standard-Zeitzone abrufen

<?php
$tz = IntlTimeZone::createTimeZone('Europe/Berlin');
$id = intltz_get_id($tz);
echo $id;
Europe/Berlin

Standard-Systemzeitzone ermitteln und ID ausgeben

<?php
// Standard-Zeitzone des Systems (entspricht date_default_timezone_get())
$tz = IntlTimeZone::createDefault();
$id = intltz_get_id($tz);
echo 'System-Zeitzone: ' . $id;

// Vergleich: Zeitzone anhand eines DateTimeZone-Objekts erstellen
$phpTz = new DateTimeZone('America/New_York');
$intlTz = IntlTimeZone::fromDateTimeZone($phpTz);
echo PHP_EOL . 'Zeitzone aus DateTimeZone: ' . intltz_get_id($intlTz);
System-Zeitzone: Europe/Berlin Zeitzone aus DateTimeZone: America/New_York

Ungültige Zeitzone und Fehlerbehandlung

<?php
$tz = IntlTimeZone::createTimeZone('Ungueltig/Zeitzone');
$id = intltz_get_id($tz);

if ($id === false) {
    echo 'Zeitzone konnte nicht ermittelt werden.';
} else {
    // ICU gibt bei unbekannten Bezeichnern oft einen Fallback zurück
    echo 'Zeitzone: ' . $id;
}
Zeitzone: GMT+0:00

// Wichtig · Fallstricke

Hinweis: ICU gibt bei ungültigen Zeitzonenbezeichnern nicht immer false zurück, sondern kann einen Fallback-Bezeichner wie GMT+0:00 liefern. Prüfen Sie daher den zurückgegebenen Wert sorgfältig, wenn Sie nicht sicher sind, ob der übergebene Bezeichner gültig ist.

Die Funktion ist das prozedurale Äquivalent zu IntlTimeZone::getID(). Beide sind funktional identisch. In neuem Code wird der objektorientierte Stil empfohlen.