formatDateTime
Riferimento API per il metodo formatDateTime per formattare date e orari in base alle convenzioni locali
Panoramica
Il metodo formatDateTime formatta date e ore secondo le convenzioni specifiche della locale utilizzando l’Internationalization API.
Gestisce automaticamente formati di data e ora, calendari e fusi orari in base alla locale di destinazione.
const gt = new GT({ targetLocale: 'de-DE' });
const formatted = gt.formatDateTime(new Date(), {
dateStyle: 'medium',
timeStyle: 'short'
});
// Restituisce: "25.09.2025, 18:06" (formato data/ora tedesco)Riferimenti
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
date | Date | L'oggetto Date da formattare |
options? | DateTimeFormatOptions | Opzioni di formattazione facoltative |
DateTimeFormatOptions
Estende Intl.DateTimeFormatOptions con un’ulteriore specifica di locale:
| Name | Type | Description |
|---|---|---|
locales? | string | string[] | Imposta locali personalizzati per la formattazione (default: locali dell’istanza) |
localeMatcher? | 'lookup' | 'best fit' | Algoritmo di corrispondenza del locale (default: 'best fit') |
dateStyle? | 'full' | 'long' | 'medium' | 'short' | Stile complessivo della data |
timeStyle? | 'full' | 'long' | 'medium' | 'short' | Stile complessivo dell’ora |
weekday? | 'long' | 'short' | 'narrow' | Rappresentazione del giorno della settimana |
era? | 'long' | 'short' | 'narrow' | Rappresentazione dell’era |
year? | 'numeric' | '2-digit' | Rappresentazione dell’anno |
month? | 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' | Rappresentazione del mese |
day? | 'numeric' | '2-digit' | Rappresentazione del giorno |
dayPeriod? | 'narrow' | 'short' | 'long' | Formattazione del periodo del giorno (mattina, pomeriggio, ecc.) |
hour? | 'numeric' | '2-digit' | Rappresentazione dell’ora |
minute? | 'numeric' | '2-digit' | Rappresentazione dei minuti |
second? | 'numeric' | '2-digit' | Rappresentazione dei secondi |
fractionalSecondDigits? | 1 | 2 | 3 | Numero di cifre dei secondi frazionari |
timeZoneName? | 'long' | 'short' | 'longOffset' | 'shortOffset' | 'longGeneric' | 'shortGeneric' | Formato del nome del fuso orario |
timeZone? | string | Identificatore di fuso orario IANA |
hour12? | boolean | Indica se usare il formato a 12 ore |
hourCycle? | 'h11' | 'h12' | 'h23' | 'h24' | Preferenza del ciclo orario |
calendar? | string | Sistema di calendario da utilizzare |
numberingSystem? | string | Sistema di numerazione per le cifre |
formatMatcher? | 'basic' | 'best fit' | Algoritmo di corrispondenza del formato (default: 'best fit') |
Restituisce
string - Data e ora formattate secondo le convenzioni della lingua/area geografica.
Esempi
Formattazione base di data e ora
import { GT } from 'generaltranslation';
const gt = new GT({ targetLocale: 'en-US' });
const date = new Date('2024-03-14T14:30:45Z');
// Formattazione base della data (usa le opzioni predefinite)
console.log(gt.formatDateTime(date));
// Output: "3/14/2024"
// Formattazione per il locale tedesco
console.log(gt.formatDateTime(date, { locales: 'de-DE' }));
// Output: "14.3.2024"
// Formattazione per il locale giapponese
console.log(gt.formatDateTime(date, { locales: 'ja-JP' }));
// Output: "2024/3/14"Formati di data e ora
const date = new Date('2024-03-14T14:30:45Z');
// Stile data completo
console.log(gt.formatDateTime(date, { dateStyle: 'full' }));
// Output: "giovedì 14 marzo 2024"
// Data estesa con ora breve
console.log(gt.formatDateTime(date, {
dateStyle: 'long',
timeStyle: 'short'
}));
// Output: "14 marzo 2024, 07:30"
// Componenti data personalizzati
console.log(gt.formatDateTime(date, {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
}));
// Output: "giovedì 14 marzo 2024"Fuso orario e formato orario
const date = new Date('2024-03-14T14:30:45Z');
// Imposta formato 12 ore
console.log(gt.formatDateTime(date, {
hour: 'numeric',
minute: '2-digit',
hour12: true
}));
// Output: "7:30 AM"
// Imposta formato 24 ore
console.log(gt.formatDateTime(date, {
hour: 'numeric',
minute: '2-digit',
hour12: false
}));
// Output: "07:30"
// Fuso orario specifico
console.log(gt.formatDateTime(date, {
timeZone: 'America/New_York',
dateStyle: 'medium',
timeStyle: 'short'
}));
// Output: "Mar 14, 2024, 10:30 AM"Note
- La formattazione delle date segue automaticamente le convenzioni locali
- Il metodo usa l’API nativa del browser
Intl.DateTimeFormatper prestazioni e precisione ottimali - I fusi orari vengono gestiti correttamente quando specificati
Metodi correlati
- Consulta la documentazione di
Intl.DateTimeFormatper ulteriori opzioni - Vedi
formatRelativeTimeper la formattazione relativa delle date ("2 giorni fa") - Vedi
formatMessageper la formattazione dei messaggi con interpolazione di date - Vedi la funzione standalone
formatDateTimeper l'uso senza un'istanza di GT - Vedi
getLocalePropertiesper informazioni sul calendario specifiche della locale
Prossimi passaggi
- Consulta la Guida alla formattazione per strategie complete di formattazione di date e orari
- Consulta la Guida all'internazionalizzazione per una gestione delle date in base alla locale
Come valuti questa guida?