formatDateTime
Eigenständige Funktion zum Formatieren von Datums- und Uhrzeiten gemäß den Locale-Konventionen
Übersicht
Die eigenständige Funktion formatDateTime formatiert Datums- und Zeitangaben gemäß lokalspezifischen Konventionen, ohne dass eine GT-Instanz erforderlich ist.
Sie bietet dieselbe Funktionalität wie die Methode der GT-Klasse, kann jedoch unabhängig verwendet werden.
import { formatDateTime } from 'generaltranslation';
const formatted = formatDateTime(new Date(), {
locales: 'de-DE',
dateStyle: 'medium',
timeStyle: 'short'
});
// Returns: "26.09.2025, 17:33"Referenzen
Parameter
| Name | Type | Beschreibung |
|---|---|---|
date | Date | Das zu formatierende Date-Objekt |
options | DateTimeFormatOptions & { locales?: string | string[] } | Formatierungskonfiguration mit optionalen locales |
DateTimeFormatOptions
| Name | Type | Beschreibung |
|---|---|---|
locales? | string | string[] | Locales für die Formatierung (standardmäßig Systemlocale) |
dateStyle? | 'full' | 'long' | 'medium' | 'short' | Übergeordneter Datumsformatstil |
timeStyle? | 'full' | 'long' | 'medium' | 'short' | Übergeordneter Zeitformatstil |
weekday? | 'long' | 'short' | 'narrow' | Darstellung des Wochentags |
year? | 'numeric' | '2-digit' | Darstellung des Jahres |
month? | 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' | Darstellung des Monats |
day? | 'numeric' | '2-digit' | Darstellung des Tages |
hour? | 'numeric' | '2-digit' | Darstellung der Stunde |
minute? | 'numeric' | '2-digit' | Darstellung der Minute |
second? | 'numeric' | '2-digit' | Darstellung der Sekunde |
timeZone? | string | IANA-Zeitzonenkennung |
hour12? | boolean | Ob das 12-Stunden-Format verwendet wird |
Rückgabe
string - Das formatierte Datum und die Uhrzeit gemäß den Konventionen der Locale.
Beispiel
Grundlegende Verwendung
import { formatDateTime } from 'generaltranslation';
// Grundformatierung mit explizitem locale
console.log(formatDateTime(date, { locales: 'en-US' }));
// Ausgabe: „3/14/2024“
// Deutsches Datumsformat
console.log(formatDateTime(date, { locales: 'de-DE' }));
// Ausgabe: „14.3.2024“
// Mehrere locale-Standardwerte
console.log(formatDateTime(date, {
locales: ['ja-JP', 'en-US']
}));
// Ausgabe: „2024/3/14“ (japanisches Format)Datums- und Zeitstile
const date = new Date('2024-03-14T14:30:45Z');
// Vollständiges Datumsformat
console.log(formatDateTime(date, {
locales: 'en-US',
dateStyle: 'full'
}));
// Ausgabe: "Thursday, March 14, 2024"
// Langes Datum mit kurzer Uhrzeit
console.log(formatDateTime(date, {
locales: 'fr-FR',
dateStyle: 'long',
timeStyle: 'short'
}));
// Ausgabe: "14 mars 2024 à 07:30"
// Kurzes Format für mehrere Locales
const locales = ['en-US', 'de-DE', 'ja-JP'];
locales.forEach(locale => {
console.log(`${locale}: ${formatDateTime(date, {
locales: locale,
dateStyle: 'short',
timeStyle: 'short'
})}`);
});
// Ausgabe:
// en-US: 3/14/24, 7:30 AM
// de-DE: 14.03.24, 07:30
// ja-JP: 2024/03/14 7:30Umgang mit Zeitzonen
const date = new Date('2024-03-14T14:30:45Z');
// Formatierung für verschiedene Zeitzonen
const timeZones = [
'America/New_York',
'Europe/London',
'Asia/Tokyo'
];
timeZones.forEach(timeZone => {
const formatted = formatDateTime(date, {
locales: 'en-US',
timeZone,
dateStyle: 'medium',
timeStyle: 'medium'
});
console.log(`${timeZone}: ${formatted}`);
});
// Die Ausgabe kann je nach Sommerzeit abweichenHinweise
- Der Parameter
localesist optional und verwendet, wenn nicht angegeben, standardmäßig die System-locale - Verwendet dieselbe zugrunde liegende
Intl.DateTimeFormatwie die Methode der GT-Klasse - Ergebnisse werden intern zwischengespeichert, um die Leistung bei wiederholten Kombinationen aus locale/options zu verbessern
- Alle Standard-
Intl.DateTimeFormatoptions werden unterstützt - Zeitzonen werden bei Angabe korrekt berücksichtigt
- Unterschiedliche locales haben unterschiedliche Standardformate für Datum/Uhrzeit sowie Präferenzen für 12‑Stunden‑ bzw. 24‑Stunden‑Uhr
Nächste Schritte
- Sieh dir die Dokumentation zu
Intl.DateTimeFormatfür weitere options an - Sieh dir
formatNumfür eigenständige Zahlenformatierung an - Sieh dir
formatMessagefür eigenständige Nachrichtenformatierung an - Sieh dir die GT-Klasse
formatDateTimefür die instanzbasierte Nutzung an - Sieh dir
formatRelativeTimefür relative Zeitformatierung an
Wie ist diese Anleitung?