Signatur
Beschreibung
intltz_get_iana_id() konvertiert einen Zeitzonen-Bezeichner in das standardisierte IANA-Format (auch bekannt als Olson-Datenbank, z. B. Europe/Berlin oder America/New_York). Dies ist besonders nützlich, wenn Zeitzonen-Bezeichner aus anderen Systemen (z. B. Windows-Zeitzonen wie W. Europe Standard Time) in das universell kompatible IANA-Format umgewandelt werden müssen.
Die Funktion nutzt intern die ICU-Bibliothek (International Components for Unicode), die eine Abbildungstabelle zwischen verschiedenen Zeitzonen-Systemen und IANA-Bezeichnern pflegt. Das Ergebnis hängt daher von der auf dem System installierten ICU-Version ab.
Typische Anwendungsfälle sind die Interoperabilität zwischen verschiedenen Betriebssystemen, die Normalisierung von Benutzereingaben oder die Konvertierung von Daten aus externen APIs, die nicht immer IANA-konforme Zeitzonen liefern.
- Gibt
falsezurück, wenn der Bezeichner nicht aufgelöst werden kann. - Diese Funktion ist eine prozedurale Alternative zu
IntlTimeZone::getIanaID().
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $timezoneId Pflicht | string | Der Zeitzonen-Bezeichner, der in einen IANA-Bezeichner umgewandelt werden soll. Kann ein ICU-, Windows- oder anderer systemspezifischer Bezeichner sein, z. B. W. Europe Standard Time oder Europe/Berlin. |
Rückgabewert
string zurück, z. B. Europe/Berlin. Wenn der angegebene Bezeichner nicht in einen IANA-Bezeichner aufgelöst werden kann, wird false zurückgegeben.Beispiele
IANA-ID eines bekannten ICU-Bezeichners ermitteln
<?php
// Einen bereits IANA-konformen Bezeichner übergeben
$ianaId = intltz_get_iana_id('Europe/Berlin');
var_dump($ianaId);
// Einen UTC-Bezeichner konvertieren
$utcId = intltz_get_iana_id('UTC');
var_dump($utcId);
Windows-Zeitzonen-Bezeichner in IANA umwandeln
<?php
// Windows-Zeitzone in IANA-Bezeichner konvertieren
$windowsTz = 'W. Europe Standard Time';
$ianaId = intltz_get_iana_id($windowsTz);
if ($ianaId !== false) {
echo "IANA-Zeitzone: " . $ianaId . PHP_EOL;
} else {
echo "Konvertierung fehlgeschlagen." . PHP_EOL;
}
// Ungültiger Bezeichner
$invalid = intltz_get_iana_id('Nicht/Existierend');
var_dump($invalid);
// Wichtig · Fallstricke
ICU-Versionsabhängigkeit: Da die Funktion die ICU-Bibliothek nutzt, kann das Ergebnis je nach installierter ICU-Version variieren. Neuere ICU-Versionen enthalten aktuellere Abbildungstabellen. Prüfen Sie mit INTL_ICU_VERSION, welche ICU-Version aktiv ist.
Verfügbarkeit: Diese Funktion wurde erst in PHP 8.3.0 eingeführt. Für ältere PHP-Versionen kann die objektorientierte Methode IntlTimeZone::getIanaID() (ab PHP 8.3.0) oder eine manuelle Abbildungslösung verwendet werden.
Rückgabewert prüfen: Da die Funktion false zurückgeben kann, sollte der Rückgabewert stets mit === false geprüft werden, bevor er weiterverwendet wird.