Start · Sprachen · PHP · Referenz · datefmt_get_datetype

datefmt_get_datetype

Funktion

Gibt den Datumstyp (z. B. <code>IntlDateFormatter::SHORT</code>) des angegebenen <code>IntlDateFormatter</code>-Objekts zurück.

seit PHP 5.3.0 Kategorie: string

Signatur

datefmt_get_datetype(IntlDateFormatter $formatter): int|false

Beschreibung

datefmt_get_datetype() ist die prozedurale Variante der Methode IntlDateFormatter::getDateType(). Sie liefert den Datumstyp, der beim Erstellen des Formatters über datefmt_create() bzw. new IntlDateFormatter() festgelegt wurde.

Der Datumstyp steuert, wie das Datum in der formatierten Ausgabe erscheint. Mögliche Werte sind die Konstanten der Klasse IntlDateFormatter: FULL, LONG, MEDIUM, SHORT und NONE. Jede Konstante entspricht einem bestimmten Detailgrad des Datums (z. B. vollständiger Wochentag, abgekürzter Monat usw.).

Diese Funktion ist nützlich, wenn man einen bestehenden Formatter untersuchen möchte, um dessen Konfiguration zu prüfen oder zu protokollieren – beispielsweise beim Debuggen oder beim dynamischen Zusammenstellen von Formattern in einer mehrsprachigen Anwendung.

  • IntlDateFormatter::FULL – vollständige Datumsdarstellung (z. B. Mittwoch, 1. Januar 2025)
  • IntlDateFormatter::LONG – ausführliche Darstellung (z. B. 1. Januar 2025)
  • IntlDateFormatter::MEDIUM – mittlere Darstellung (z. B. 01.01.2025)
  • IntlDateFormatter::SHORT – kurze Darstellung (z. B. 1.1.25)
  • IntlDateFormatter::NONE – kein Datum ausgeben

Parameter

Name Typ Default Beschreibung
$formatter Pflicht IntlDateFormatter Das IntlDateFormatter-Objekt, dessen Datumstyp abgefragt werden soll.

Rückgabewert

Typ
int|false
Beschreibung
Gibt eine der IntlDateFormatter-Konstanten (FULL, LONG, MEDIUM, SHORT, NONE) als int zurück. Im Fehlerfall wird false zurückgegeben.

Beispiele

Datumstyp eines Formatters auslesen (prozedural)

<?php
$formatter = datefmt_create(
    'de_DE',
    IntlDateFormatter::LONG,
    IntlDateFormatter::NONE,
    'Europe/Berlin',
    IntlDateFormatter::GREGORIAN
);

$dateType = datefmt_get_datetype($formatter);

echo $dateType; // Gibt den Wert der Konstante IntlDateFormatter::LONG aus

// Zur Veranschaulichung: Konstantenname ermitteln
$types = [
    IntlDateFormatter::FULL   => 'FULL',
    IntlDateFormatter::LONG   => 'LONG',
    IntlDateFormatter::MEDIUM => 'MEDIUM',
    IntlDateFormatter::SHORT  => 'SHORT',
    IntlDateFormatter::NONE   => 'NONE',
];
echo PHP_EOL . 'Datumstyp: ' . ($types[$dateType] ?? 'Unbekannt');
1 Datetyp: LONG

Vergleich prozeduraler und OOP-Schreibweise

<?php
// OOP-Stil
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::SHORT,
    IntlDateFormatter::NONE
);

// Prozedural
echo datefmt_get_datetype($fmt);   // Ausgabe: 3 (SHORT)
echo PHP_EOL;

// OOP-Methode (identisches Ergebnis)
echo $fmt->getDateType();           // Ausgabe: 3 (SHORT)
3 3

// Wichtig · Fallstricke

Der Rückgabewert ist ein roher Integer. Es empfiehlt sich, diesen mit den benannten Konstanten (IntlDateFormatter::SHORT usw.) zu vergleichen, statt ihn direkt als Zahl zu interpretieren, da sich die Werte zwischen PHP-Versionen oder Plattformen theoretisch unterscheiden könnten.

Die Funktion setzt die intl-Erweiterung voraus. Ist diese nicht geladen, steht weder datefmt_get_datetype() noch die Klasse IntlDateFormatter zur Verfügung.