Signatur
Beschreibung
intltz_create_default() ist die prozedurale Variante von IntlTimeZone::createDefault() und liefert die Standard-Zeitzone des laufenden PHP-Hosts als IntlTimeZone-Objekt. Diese Zeitzone entspricht in der Regel dem Wert, der durch die PHP-Einstellung date.timezone in der php.ini oder durch einen Aufruf von date_default_timezone_set() festgelegt wurde.
Das zurückgegebene Objekt ist eine eigenständige Kopie der internen Standardzeitzone; Änderungen daran wirken sich nicht auf die globale Zeitzoneneinstellung aus. Die Funktion ist besonders nützlich, wenn man mit der Intl-Erweiterung (z. B. IntlDateFormatter oder IntlCalendar) arbeitet und dabei die systemseitig konfigurierte Zeitzone verwenden möchte.
Da die Funktion auf der ICU-Bibliothek basiert, verwendet sie ICU-Zeitzonen-IDs (z. B. Europe/Berlin). Wenn die PHP-Standardzeitzone keiner ICU-Zeitzone exakt zugeordnet werden kann, wird als Fallback Etc/GMT oder eine äquivalente UTC-basierte Zeitzone verwendet.
Rückgabewert
IntlTimeZone-Objekt zurück, das eine Kopie der aktuell konfigurierten Standard-Zeitzone des Hosts repräsentiert. Die Funktion gibt niemals false oder null zurück.Beispiele
Standard-Zeitzone des Systems ausgeben
<?php
// Setzt die Standard-Zeitzone über PHP-Funktion
date_default_timezone_set('Europe/Berlin');
$tz = intltz_create_default();
echo $tz->getID(); // Zeitzone-ID
echo PHP_EOL;
echo $tz->getDisplayName(); // Menschenlesbarer Name
Standard-Zeitzone mit IntlDateFormatter kombinieren
<?php
date_default_timezone_set('America/New_York');
$tz = intltz_create_default();
$fmt = new IntlDateFormatter(
'de_DE',
IntlDateFormatter::LONG,
IntlDateFormatter::LONG,
$tz
);
// Aktuelles Datum und Uhrzeit in der Standard-Zeitzone formatieren
echo $fmt->format(time());
// Wichtig · Fallstricke
Abhängigkeit von date.timezone: Ist keine Standard-Zeitzone gesetzt (weder in der php.ini noch per date_default_timezone_set()), kann PHP eine Warnung ausgeben und als Fallback UTC verwenden. Es empfiehlt sich daher, stets eine gültige Zeitzone zu konfigurieren.
ICU vs. PHP-Zeitzonen: Die ICU-Bibliothek und PHP verwenden weitestgehend dieselben IANA-Zeitzonen-IDs, jedoch kann es bei sehr alten oder ungebräuchlichen Zeitzonen zu Diskrepanzen kommen. Im Zweifelsfall den zurückgegebenen Wert von getID() prüfen.
Die Funktion ist identisch mit dem statischen Aufruf IntlTimeZone::createDefault().