formatDateTime
API Reference für die Methode formatDateTime zur Formatierung von Datums- und Zeitangaben gemäß den Locale-Konventionen
Übersicht
Die Methode formatDateTime formatiert Datums- und Zeitangaben gemäß locale-spezifischen Konventionen mithilfe der Internationalization API.
Sie berücksichtigt Datums- und Zeitformate, Kalender sowie Zeitzonen automatisch auf Basis der Ziel‑locale.
const gt = new GT({ targetLocale: 'de-DE' });
const formatted = gt.formatDateTime(new Date(), {
dateStyle: 'medium',
timeStyle: 'short'
});
// Gibt zurück: „25.09.2025, 18:06" (deutsches Datums-/Zeitformat)Referenz
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
date | Date | Das zu formatierende Date-Objekt |
options? | DateTimeFormatOptions | Optionale Formatierungseinstellungen |
DateTimeFormatOptions
Erweitert Intl.DateTimeFormatOptions um eine zusätzliche Locale-Spezifikation:
| Name | Typ | Beschreibung |
|---|---|---|
locales? | string | string[] | Locales für die Formatierung überschreiben (Standard: Instanz-Locales) |
localeMatcher? | 'lookup' | 'best fit' | Algorithmus zur Locale-Ermittlung (Standard: 'best fit') |
dateStyle? | 'full' | 'long' | 'medium' | 'short' | Übergreifender Datumsformatstil |
timeStyle? | 'full' | 'long' | 'medium' | 'short' | Übergreifender Zeitformatstil |
weekday? | 'long' | 'short' | 'narrow' | Darstellung des Wochentags |
era? | 'long' | 'short' | 'narrow' | Darstellung der Epoche |
year? | 'numeric' | '2-digit' | Darstellung des Jahres |
month? | 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' | Darstellung des Monats |
day? | 'numeric' | '2-digit' | Darstellung des Tages |
dayPeriod? | 'narrow' | 'short' | 'long' | Formatierung der Tageszeit (Morgen, Nachmittag usw.) |
hour? | 'numeric' | '2-digit' | Darstellung der Stunde |
minute? | 'numeric' | '2-digit' | Darstellung der Minute |
second? | 'numeric' | '2-digit' | Darstellung der Sekunde |
fractionalSecondDigits? | 1 | 2 | 3 | Anzahl der Nachkommastellen der Sekunde |
timeZoneName? | 'long' | 'short' | 'longOffset' | 'shortOffset' | 'longGeneric' | 'shortGeneric' | Format des Zeitzonennamens |
timeZone? | string | IANA-Zeitzonenkennung |
hour12? | boolean | 12-Stunden-Format verwenden |
hourCycle? | 'h11' | 'h12' | 'h23' | 'h24' | Bevorzugter Stundenzyklus |
calendar? | string | Zu verwendendes Kalendersystem |
numberingSystem? | string | Zahlensystem für Ziffern |
formatMatcher? | 'basic' | 'best fit' | Algorithmus zur Formatabstimmung (Standard: 'best fit') |
Rückgabewert
string - Das formatierte Datum und die Uhrzeit gemäß den Konventionen der locale.
Beispiele
Grundlagen der Datums- und Zeitformatierung
import { GT } from 'generaltranslation';
const gt = new GT({ targetLocale: 'en-US' });
const date = new Date('2024-03-14T14:30:45Z');
// Grundlegende Datumsformatierung (verwendet Standard-options)
console.log(gt.formatDateTime(date));
// Ausgabe: "3/14/2024"
// Formatierung für deutsches locale
console.log(gt.formatDateTime(date, { locales: 'de-DE' }));
// Ausgabe: "14.3.2024"
// Formatierung für japanisches locale
console.log(gt.formatDateTime(date, { locales: 'ja-JP' }));
// Ausgabe: "2024/3/14"Datums- und Zeitformate
const date = new Date('2024-03-14T14:30:45Z');
// Vollständiges Datumsformat
console.log(gt.formatDateTime(date, { dateStyle: 'full' }));
// Ausgabe: „Donnerstag, 14. März 2024"
// Langes Datum mit kurzer Zeitangabe
console.log(gt.formatDateTime(date, {
dateStyle: 'long',
timeStyle: 'short'
}));
// Ausgabe: „14. März 2024 um 7:30"
// Benutzerdefinierte Datumsbestandteile
console.log(gt.formatDateTime(date, {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
}));
// Ausgabe: „Donnerstag, 14. März 2024"Zeitzone und Uhrzeitformat
const date = new Date('2024-03-14T14:30:45Z');
// 12-Stunden-Format erzwingen
console.log(gt.formatDateTime(date, {
hour: 'numeric',
minute: '2-digit',
hour12: true
}));
// Ausgabe: „7:30 AM"
// 24-Stunden-Format erzwingen
console.log(gt.formatDateTime(date, {
hour: 'numeric',
minute: '2-digit',
hour12: false
}));
// Ausgabe: „07:30"
// Bestimmte Zeitzone
console.log(gt.formatDateTime(date, {
timeZone: 'America/New_York',
dateStyle: 'medium',
timeStyle: 'short'
}));
// Ausgabe: „Mar 14, 2024, 10:30 AM"Hinweise
- Die Datumsformatierung folgt automatisch den konventionsspezifischen Vorgaben der jeweiligen locale
- Die Methode verwendet die browsernative
Intl.DateTimeFormatfür optimale Leistung und Genauigkeit - Zeitzonen werden bei entsprechender Angabe korrekt berücksichtigt
Verwandte Methoden
- Siehe die Dokumentation zu
Intl.DateTimeFormatfür weitere options - Siehe
formatRelativeTimefür relative Datumsformatierung („vor 2 Tagen“) - Siehe
formatMessagefür Nachrichtenformatierung mit Datumsinterpolation - Siehe das eigenständige
formatDateTimezur Verwendung ohne GT-Instanz - Siehe
getLocalePropertiesfür locale-spezifische Kalenderinformationen
Nächste Schritte
- Siehe Formatting Guide für umfassende Strategien zur Formatierung von Datums- und Zeitangaben
- Siehe Internationalization Guide für locale‑sensitive Verarbeitung von Datumsangaben
Wie ist diese Anleitung?