formatDateTime
Funzione standalone per formattare date e ore secondo le convenzioni locali
Panoramica
La funzione standalone formatDateTime formatta date e orari secondo le convenzioni locali senza richiedere un’istanza di GT.
Offre la stessa funzionalità del metodo della classe GT, ma può essere usata in modo indipendente.
import { formatDateTime } from 'generaltranslation';
const formatted = formatDateTime(new Date(), {
locales: 'de-DE',
dateStyle: 'medium',
timeStyle: 'short'
});
// Restituisce: "26.09.2025, 17:33"Riferimenti
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
date | Date | L’oggetto Date da formattare |
options | DateTimeFormatOptions & { locales?: string | string[] } | Configurazione di formattazione con locales opzionale |
DateTimeFormatOptions
| Nome | Tipo | Descrizione |
|---|---|---|
locales? | string | string[] | Locali per la formattazione (impostazione predefinita: locale di sistema) |
dateStyle? | 'full' | 'long' | 'medium' | 'short' | Stile generale di formattazione della data |
timeStyle? | 'full' | 'long' | 'medium' | 'short' | Stile generale di formattazione dell’ora |
weekday? | 'long' | 'short' | 'narrow' | Rappresentazione del giorno della settimana |
year? | 'numeric' | '2-digit' | Rappresentazione dell’anno |
month? | 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' | Rappresentazione del mese |
day? | 'numeric' | '2-digit' | Rappresentazione del giorno |
hour? | 'numeric' | '2-digit' | Rappresentazione dell’ora |
minute? | 'numeric' | '2-digit' | Rappresentazione dei minuti |
second? | 'numeric' | '2-digit' | Rappresentazione dei secondi |
timeZone? | string | Identificatore del fuso orario IANA |
hour12? | boolean | Indica se usare il formato a 12 ore |
Restituisce
string - Data e ora formattate secondo le convenzioni della locale.
Esempio
Utilizzo base
import { formatDateTime } from 'generaltranslation';
// Formattazione base con locale esplicita
console.log(formatDateTime(date, { locales: 'en-US' }));
// Output: "3/14/2024"
// Formattazione tedesca
console.log(formatDateTime(date, { locales: 'de-DE' }));
// Output: "14.3.2024"
// Locale di fallback multipli
console.log(formatDateTime(date, {
locales: ['ja-JP', 'en-US']
}));
// Output: "2024/3/14" (formato giapponese)Formati di data e ora
const date = new Date('2024-03-14T14:30:45Z');
// Stile data completo
console.log(formatDateTime(date, {
locales: 'en-US',
dateStyle: 'full'
}));
// Output: "Thursday, March 14, 2024"
// Data estesa con ora breve
console.log(formatDateTime(date, {
locales: 'fr-FR',
dateStyle: 'long',
timeStyle: 'short'
}));
// Output: "14 mars 2024 à 07:30"
// Formato breve per diverse localizzazioni
const locales = ['en-US', 'de-DE', 'ja-JP'];
locales.forEach(locale => {
console.log(`${locale}: ${formatDateTime(date, {
locales: locale,
dateStyle: 'short',
timeStyle: 'short'
})}`);
});
// Output:
// en-US: 3/14/24, 7:30 AM
// de-DE: 14.03.24, 07:30
// ja-JP: 2024/03/14 7:30Gestione del fuso orario
const date = new Date('2024-03-14T14:30:45Z');
// Formatta per diversi fusi orari
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}`);
});
// L'output varia in base all'ora legaleNote
- Il parametro
localesè opzionale e, se non specificato, usa il locale di sistema per impostazione predefinita - Utilizza lo stesso
Intl.DateTimeFormatsottostante del metodo di classe di GT - I risultati vengono memorizzati in cache internamente per migliorare le prestazioni con combinazioni ripetute di locale/opzioni
- Sono supportate tutte le opzioni standard di
Intl.DateTimeFormat - I fusi orari vengono gestiti correttamente quando specificati
- I diversi locali hanno formati data/ora predefiniti e preferenze 12 ore vs 24 ore differenti
Prossimi passaggi
- Consulta la documentazione di
Intl.DateTimeFormatper ulteriori opzioni - Vedi
formatNumper la formattazione dei numeri in modo indipendente - Vedi
formatMessageper la formattazione dei messaggi in modo indipendente - Vedi il metodo della classe GT
formatDateTimeper l’uso basato su istanza - Vedi
formatRelativeTimeper la formattazione relativa del tempo
Come valuti questa guida?