Datumswerte mit IntlDateFormatter lesbar ausgeben

Technisch gespeicherte Datumswerte erscheinen auf der Website in einer vertrauten Schreibweise. IntlDateFormatter verbindet das Eingabeformat mit Sprache, Region und dem gewünschten Ausgabeformat.

2 Min. von Matthias Ulrich

Ein Datum liegt in Anwendungen häufig in einem technischen Format wie 2026-08-07 00:00:00 vor. Auf der Website erscheint daraus ein lesbarer Datumswert, der zur Sprache und Region der Website passt.

IntlDateFormatter steuert diese Ausgabe über ein Gebietsschema und ein Formatmuster. Das folgende Beispiel formatiert ein Datum für Deutsch (Schweiz) als «7. August 2026».

<?php
$date_raw = '2026-08-07 00:00:00';
$date = DateTimeImmutable::createFromFormat(
    '!Y-m-d H:i:s',
    $date_raw,
    new DateTimeZone( 'Europe/Zurich' )
);

$errors = DateTimeImmutable::getLastErrors();

if ( false === $date || ( is_array( $errors ) && ( $errors['warning_count'] || $errors['error_count'] ) ) ) {
    return;
}

$formatter = new IntlDateFormatter(
    'de_CH',
    IntlDateFormatter::LONG,
    IntlDateFormatter::NONE,
    'Europe/Zurich'
);

$formatter->setPattern( 'd. MMMM y' );

echo esc_html( $formatter->format( $date ) );

Datumswert für die Ausgabe vorbereiten

DateTimeImmutable übernimmt den gespeicherten Wert und ordnet ihn der Zeitzone Europe/Zurich zu. Die Prüfung der Rückgabewerte stellt sicher, dass nur gültige Datumswerte weiterverarbeitet werden.

Der technische Speicherwert bleibt dabei unverändert. Die lesbare Darstellung entsteht erst bei der Ausgabe auf der Website.

Sprache, Region und Muster festlegen

Das Gebietsschema de_CH bestimmt Sprache und Region der Ausgabe. Das Muster d. MMMM y definiert Tag, ausgeschriebenen Monat und Jahr.

Für eine englische Ausgabe lässt sich beispielsweise en_GB verwenden. Der gespeicherte Datumswert bleibt gleich, während sich die Schreibweise an die Sprache der jeweiligen Website anpasst.

Papiercollage mit de_CH und en_GB, die denselben Datumswert als 7. August 2026 und 7 August 2026 ausgeben.
Gebietsschema und Formatmuster steuern, wie derselbe gespeicherte Datumswert auf der Website erscheint.

Datumsangaben einheitlich darstellen

IntlDateFormatter eignet sich für Termine, Beiträge und weitere Inhalte mit Datumsangaben. Ein einheitlich gespeicherter Wert kann damit an verschiedenen Stellen in der Sprache und Schreibweise der Website ausgegeben werden.

Ergebnis

Technische Datumswerte als lesbare Angaben ausgeben

IntlDateFormatter verbindet einen gespeicherten Datumswert mit der gewünschten regionalen Darstellung. Sprache, Zeitzone und Formatmuster bestimmen die Ausgabe auf der Website.

Datum lesbar ausgeben

Ein technischer Wert erscheint als ausgeschriebener Datumswert auf der Website.

Sprache und Region wählen

Das Gebietsschema steuert die regionale Schreibweise des ausgegebenen Datums.

Format zentral festlegen

Ein Muster beschreibt Tag, Monat und Jahr unabhängig vom gespeicherten Ausgangswert.