Utility FunctionsFormatting

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

NomeTipoDescrizione
dateDateL’oggetto Date da formattare
optionsDateTimeFormatOptions & { locales?: string | string[] }Configurazione di formattazione con locales opzionale

DateTimeFormatOptions

NomeTipoDescrizione
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?stringIdentificatore del fuso orario IANA
hour12?booleanIndica 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:30

Gestione 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 legale

Note

  • Il parametro locales è opzionale e, se non specificato, usa il locale di sistema per impostazione predefinita
  • Utilizza lo stesso Intl.DateTimeFormat sottostante 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

Come valuti questa guida?

formatDateTime