Signatur
Beschreibung
timezone_name_get() ist eine prozedurale Alias-Funktion für die Methode DateTimeZone::getName(). Sie nimmt ein DateTimeZone-Objekt entgegen und liefert dessen internen Zeitzonennamen als Zeichenkette zurück. Dieser Name entspricht einem der Einträge aus der IANA-Zeitzonendatenbank (z. B. "America/New_York") oder einem UTC-Offset-Bezeichner wie "+05:30".
Die Funktion ist besonders nützlich, wenn man eine DateTimeZone-Instanz vorliegen hat und deren Namen für Ausgaben, Vergleiche oder die Speicherung in einer Datenbank benötigt. Häufig wird sie in Kombination mit date_timezone_get() eingesetzt, um aus einem DateTime-Objekt den Zeitzonennamen zu extrahieren.
Da es sich um einen prozeduralen Alias handelt, ist die objektorientierte Schreibweise $tz->getName() funktional identisch. In modernem PHP-Code (ab PHP 5.2+) wird bevorzugt der OOP-Stil verwendet, die prozedurale Variante bleibt jedoch vollständig unterstützt.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $object Pflicht | DateTimeZone | Das DateTimeZone-Objekt, dessen Zeitzonenname abgefragt werden soll. |
Rückgabewert
"Europe/Berlin", "UTC" oder "+05:30". Die Funktion gibt immer einen String zurück, da ein gültiges DateTimeZone-Objekt stets einen Namen besitzt.Beispiele
Zeitzonennamen aus einem DateTimeZone-Objekt auslesen
<?php
$tz = new DateTimeZone('Europe/Berlin');
$name = timezone_name_get($tz);
echo $name; // Europe/Berlin
Zeitzonennamen aus einem DateTime-Objekt extrahieren
<?php
$dt = new DateTime('now', new DateTimeZone('America/New_York'));
$tz = date_timezone_get($dt);
$name = timezone_name_get($tz);
echo 'Aktuelle Zeitzone: ' . $name;
Vergleich von Zeitzonen anhand ihres Namens
<?php
$tz1 = new DateTimeZone('Europe/London');
$tz2 = new DateTimeZone('UTC');
if (timezone_name_get($tz1) === timezone_name_get($tz2)) {
echo 'Gleiche Zeitzone';
} else {
echo 'Unterschiedliche Zeitzonen: '
. timezone_name_get($tz1) . ' vs. ' . timezone_name_get($tz2);
}
// Wichtig · Fallstricke
Hinweis zur OOP-Äquivalenz: timezone_name_get($tz) ist identisch mit $tz->getName(). In neuem Code empfiehlt sich der objektorientierte Stil für bessere Lesbarkeit.
UTC-Offset-Bezeichner: Wird ein DateTimeZone-Objekt mit einem Offset wie "+05:30" erstellt, gibt timezone_name_get() genau diesen Offset-String zurück, nicht etwa einen IANA-Zeitzonennamen. Offsets sind keine echten Zeitzonen, da sie keine Sommerzeit-Regeln berücksichtigen.