Signatur
Beschreibung
datefmt_get_timetype() ist die prozedurale Variante der Methode IntlDateFormatter::getTimeType() und liefert den Zeittyp (Time-Type), der beim Instanziieren des Formatters definiert wurde. Der Zeittyp steuert, wie die Uhrzeit in der Ausgabe dargestellt wird – z. B. kurz, mittel, lang oder vollständig.
Die möglichen Rückgabewerte entsprechen den IntlDateFormatter-Konstanten: IntlDateFormatter::FULL, IntlDateFormatter::LONG, IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT oder IntlDateFormatter::NONE. Letzteres bedeutet, dass keine Uhrzeit ausgegeben wird.
Diese Funktion ist besonders nützlich, wenn man einen bestehenden Formatter inspizieren möchte, etwa um seine Konfiguration zu protokollieren, zu vergleichen oder dynamisch anzupassen, bevor Datumswerte damit formatiert werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $formatter Pflicht | IntlDateFormatter | Das IntlDateFormatter-Objekt, dessen Zeittyp abgefragt werden soll. |
Rückgabewert
IntlDateFormatter::SHORT). Im Fehlerfall wird false zurückgegeben.Beispiele
Zeittyp eines Formatters abfragen
<?php
$formatter = datefmt_create(
'de_DE',
IntlDateFormatter::NONE,
IntlDateFormatter::SHORT,
'Europe/Berlin',
IntlDateFormatter::GREGORIAN
);
$timeType = datefmt_get_timetype($formatter);
echo $timeType; // Gibt die Konstante für SHORT aus
echo PHP_EOL;
// Vergleich mit der Konstante
if ($timeType === IntlDateFormatter::SHORT) {
echo 'Zeittyp ist SHORT.';
}
Zeittyp OOP vs. prozedural vergleichen
<?php
$formatter = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::MEDIUM,
'America/New_York',
IntlDateFormatter::GREGORIAN
);
// OOP-Variante
$timeTypeOop = $formatter->getTimeType();
// Prozedurale Variante
$timeTypeProc = datefmt_get_timetype($formatter);
echo 'OOP: ' . $timeTypeOop . PHP_EOL;
echo 'Prozedural: ' . $timeTypeProc . PHP_EOL;
echo 'Identisch: ' . ($timeTypeOop === $timeTypeProc ? 'ja' : 'nein') . PHP_EOL;
// Menschenlesbare Darstellung
$labels = [
IntlDateFormatter::FULL => 'FULL',
IntlDateFormatter::LONG => 'LONG',
IntlDateFormatter::MEDIUM => 'MEDIUM',
IntlDateFormatter::SHORT => 'SHORT',
IntlDateFormatter::NONE => 'NONE',
];
echo 'Zeittyp: ' . ($labels[$timeTypeOop] ?? 'Unbekannt');
// Wichtig · Fallstricke
Die Konstanten-Werte der Zeittypen sind: IntlDateFormatter::FULL = 0, IntlDateFormatter::LONG = 1, IntlDateFormatter::MEDIUM = 2, IntlDateFormatter::SHORT = 3, IntlDateFormatter::NONE = -1. Achte darauf, beim Vergleich den strikten Operator (===) zu verwenden, da NONE den Wert -1 hat und bei einem losen Vergleich (==) mit false in Konflikt geraten kann.
Diese Funktion ist die prozedurale Entsprechung zu IntlDateFormatter::getTimeType(). Beide Varianten liefern identische Ergebnisse.