Start · Sprachen · PHP · Referenz · intltz_get_display_name

intltz_get_display_name

Funktion

Liefert einen zur Anzeige geeigneten, lokalisierten Namen einer <code>IntlTimeZone</code>-Instanz.

seit PHP 5.5.0 Kategorie: string

Signatur

intltz_get_display_name(IntlTimeZone $timezone, bool $isDaylight = false, int $style = IntlTimeZone::DISPLAY_LONG, string $locale = ''): string|false

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

Typ
string|false
Beschreibung
Gibt den lokalisierten Anzeigenamen der Zeitzone als String zurück. Im Fehlerfall (z. B. ungültige Zeitzone oder intl-Fehler) wird 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;
Mitteleuropäische Zeit Mitteleuropäische Sommerzeit

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;
EST EDT Eastern Time

// 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.