Signatur
Beschreibung
intltz_get_display_name() gibt den menschenlesbaren, lokalisierten Namen einer Zeitzone zurück. Der Name kann je nach gewünschtem Stil als kurze Abkürzung (z. B. CET), als langer Name (z. B. Mitteleuropäische Zeit) oder in weiteren Varianten ausgegeben werden.
Der Parameter $isDaylight steuert, ob der Name für die Sommerzeit (true) oder die Standardzeit (false) zurückgegeben werden soll. Dies ist wichtig, wenn man den Nutzer über die jeweils gültige Zeit informieren möchte.
Mit dem Parameter $style lässt sich die Ausführlichkeit des Namens anpassen. Verfügbare Stilkonstanten sind unter anderem IntlTimeZone::DISPLAY_SHORT, IntlTimeZone::DISPLAY_LONG, IntlTimeZone::DISPLAY_SHORT_GENERIC und IntlTimeZone::DISPLAY_LONG_GENERIC. Der Locale-Parameter ermöglicht die Ausgabe in der gewünschten Sprache, z. B. de_DE für Deutsch oder en_US für Englisch.
Die Funktion ist die prozedurale Variante von IntlTimeZone::getDisplayName() und erfordert die aktivierte intl-Erweiterung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $timezone Pflicht | IntlTimeZone | Die IntlTimeZone-Instanz, deren Anzeigename abgerufen werden soll. |
|
| $isDaylight | bool | false | Gibt an, ob der Name für die Sommerzeit (true) oder die Normalzeit (false) zurückgegeben werden soll. |
| $style | int | IntlTimeZone::DISPLAY_LONG | Stil des Anzeigenamens. Mögliche Werte: IntlTimeZone::DISPLAY_SHORT, IntlTimeZone::DISPLAY_LONG, IntlTimeZone::DISPLAY_SHORT_GENERIC, IntlTimeZone::DISPLAY_LONG_GENERIC, IntlTimeZone::DISPLAY_SHORT_GMT, IntlTimeZone::DISPLAY_LONG_GMT. |
| $locale | string | Die Locale, in der der Name ausgegeben werden soll, z. B. de_DE oder en_US. Wird ein leerer String übergeben, wird die Standard-Locale der intl-Erweiterung verwendet. |
Rückgabewert
false zurückgegeben.Beispiele
Langen deutschen Zeitzonennamen ausgeben
<?php
$tz = intltz_create_time_zone('Europe/Berlin');
// Standardzeit (Winterzeit) auf Deutsch
$name = intltz_get_display_name($tz, false, IntlTimeZone::DISPLAY_LONG, 'de_DE');
echo $name . PHP_EOL;
// Sommerzeit auf Deutsch
$nameSummer = intltz_get_display_name($tz, true, IntlTimeZone::DISPLAY_LONG, 'de_DE');
echo $nameSummer . PHP_EOL;
Kurzen englischen Zeitzonennamen ausgeben
<?php
$tz = intltz_create_time_zone('America/New_York');
// Kurze Abkürzung für Standardzeit
$short = intltz_get_display_name($tz, false, IntlTimeZone::DISPLAY_SHORT, 'en_US');
echo $short . PHP_EOL;
// Kurze Abkürzung für Sommerzeit
$shortDST = intltz_get_display_name($tz, true, IntlTimeZone::DISPLAY_SHORT, 'en_US');
echo $shortDST . PHP_EOL;
// Langer generischer Name
$generic = intltz_get_display_name($tz, false, IntlTimeZone::DISPLAY_LONG_GENERIC, 'en_US');
echo $generic . PHP_EOL;
// Wichtig · Fallstricke
Die Verfügbarkeit und Genauigkeit der lokalisierten Namen hängt von der installierten ICU-Bibliothek ab. Veraltete ICU-Versionen können ungenaue oder unvollständige Übersetzungen liefern. Die aktuelle ICU-Version kann mit INTL_ICU_VERSION abgefragt werden.
Wird als Locale ein leerer String übergeben, greift die mit ini_set('intl.default_locale', ...) oder Locale::setDefault() gesetzte Standard-Locale. Es empfiehlt sich, die Locale immer explizit anzugeben, um plattformunabhängige Ergebnisse zu erzielen.