GT ClassMethodsFormatting

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

NomeTipoDescrizione
dateDateL'oggetto Date da formattare
options?DateTimeFormatOptionsOpzioni di formattazione facoltative

DateTimeFormatOptions

Estende Intl.DateTimeFormatOptions con un’ulteriore specifica di locale:

NameTypeDescription
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 | 3Numero di cifre dei secondi frazionari
timeZoneName?'long' | 'short' | 'longOffset' | 'shortOffset' | 'longGeneric' | 'shortGeneric'Formato del nome del fuso orario
timeZone?stringIdentificatore di fuso orario IANA
hour12?booleanIndica se usare il formato a 12 ore
hourCycle?'h11' | 'h12' | 'h23' | 'h24'Preferenza del ciclo orario
calendar?stringSistema di calendario da utilizzare
numberingSystem?stringSistema 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.DateTimeFormat per prestazioni e precisione ottimali
  • I fusi orari vengono gestiti correttamente quando specificati

Metodi correlati

Prossimi passaggi

Come valuti questa guida?

formatDateTime