formatDateTime
Eigenständige Funktion zum Formatieren von Datums- und Uhrzeiten gemäß den Konventionen der locale
Übersicht
Die eigenständige Funktion formatDateTime formatiert Datums- und Zeitangaben gemäß lokalespezifischen Konventionen, ohne dass eine GT-Instanz erforderlich ist.
Sie bietet dieselbe Funktionalität wie die Methode der GT-Klasse, kann jedoch auch unabhängig verwendet werden.
import { formatDateTime } from 'generaltranslation';
const formatted = formatDateTime(new Date(), {
  locales: 'de-DE',
  dateStyle: 'medium',
  timeStyle: 'short'
});
// Gibt zurück: "26.09.2025, 17:33"Referenzen
Parameter
| Name | Typ | 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 die 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ückgabewert
string - Das Datum und die Uhrzeit, formatiert gemäß den Konventionen der jeweiligen locale.
Beispiel
Grundlagen
import { formatDateTime } from 'generaltranslation';
// Grundlegendes Format mit expliziter locale
console.log(formatDateTime(date, { locales: 'en-US' }));
// Ausgabe: „3/14/2024“
// Deutsches Format
console.log(formatDateTime(date, { locales: 'de-DE' }));
// Ausgabe: „14.3.2024“
// Mehrere locale-Fallbacks
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ändiger Datumsstil
console.log(formatDateTime(date, {
  locales: 'en-US',
  dateStyle: 'full'
}));
// Ausgabe: "Thursday, March 14, 2024"
// Langes Datum mit kurzer Zeitangabe
console.log(formatDateTime(date, {
  locales: 'fr-FR',
  dateStyle: 'long',
  timeStyle: 'short'
}));
// Ausgabe: "14 mars 2024 à 07:30"
// Kurzes Format für verschiedene 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}`);
});
// Ausgabe variiert je nach SommerzeitHinweise
- Der Parameter localesist optional und verwendet standardmäßig die Systemlocale, wenn er nicht angegeben ist
- Verwendet dieselbe zugrunde liegende Intl.DateTimeFormatwie die Methode der GT-Klasse
- Ergebnisse werden intern zwischengespeichert, um die Leistung bei wiederholten locale-/options-Kombinationen zu verbessern
- Alle Standard-Intl.DateTimeFormat-optionswerden unterstützt
- Zeitzonen werden bei Angabe korrekt berücksichtigt
- Unterschiedliche localeshaben unterschiedliche Standardformate für Datum und Uhrzeit sowie Präferenzen für 12- gegenüber 24-Stunden-Anzeige
Nächste Schritte
- Sieh dir die Dokumentation zu Intl.DateTimeFormatfür weitere options an
- Siehe formatNumfür die eigenständige Zahlenformatierung
- Siehe formatMessagefür die eigenständige Nachrichtenformatierung
- Siehe die GT-Klasse formatDateTimefür instanzbasierte Verwendung
- Siehe formatRelativeTimefür relative Zeitformatierung
Wie ist dieser Leitfaden?

