# General Translation Platform: formatDateTime URL: https://generaltranslation.com/it/docs/platform/core/reference/utility-functions/formatting/format-date-time.mdx --- title: formatDateTime description: Formatta data e orario senza un'istanza di GT. Riferimento API per formatDateTime. --- [`formatDateTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-date-time) è una funzione di utilità standalone della libreria Core di General Translation che formatta data e orario in base alle convenzioni specifiche dell'impostazione regionale. Restituisce una stringa adattata all'impostazione regionale per un `Date`. ## Panoramica [#overview] Importa `formatDateTime` direttamente da `generaltranslation` e chiamalo passando un `Date` e un oggetto options. Non richiede una chiave API né un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). Per una formattazione basata su istanza che eredita l'impostazione regionale dell'istanza, usa invece il metodo [`formatDateTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-date-time) di un'istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor). ```typescript import { formatDateTime } from 'generaltranslation'; const formatted = formatDateTime(new Date(), { locales: 'de-DE', dateStyle: 'medium', timeStyle: 'short', }); // Restituisce una stringa formattata in base all'impostazione regionale, ad es. "26.09.2025, 17:33" ``` Firma: ```typescript formatDateTime( date: Date, options?: { locales?: string | string[] } & Intl.DateTimeFormatOptions ): string ``` ## Come funziona [#how-it-works] * **API sottostante.** Usa lo stesso [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat) del metodo della classe GT, quindi supporta tutte le opzioni standard di `Intl.DateTimeFormat`. * **Risoluzione delle impostazioni regionali.** Quando `locales` è un array, le impostazioni regionali vengono provate nell'ordine indicato. Quando `locales` è omesso, viene usata come fallback l'impostazione regionale predefinita della libreria, `en`. * **Fusi orari.** L'output rispetta l'opzione `timeZone` quando viene fornita; altrimenti viene usato il fuso orario locale del runtime. Impostazioni regionali diverse usano formati predefiniti diversi per data e ora e preferenze diverse tra il formato a 12 ore e quello a 24 ore. * **Caching.** I risultati vengono memorizzati internamente nella cache per migliorare le prestazioni quando si ripetono le stesse combinazioni di impostazioni regionali e opzioni. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | ----------- | ----------- | | [`date`](#date) | L'oggetto `Date` da formattare. | `Date` | No | — | | [`options`](#options) | Configurazione di formattazione, incluse una o più impostazioni regionali di destinazione e le eventuali opzioni di `Intl.DateTimeFormat`. | `{ locales?: string \| string[] } & Intl.DateTimeFormatOptions` | Sì | `{}` | ### `date` [#date] **Tipo** `Date` · **Obbligatorio** L'oggetto `Date` da formattare. ### `options` [#options] **Tipo** `{ locales?: string | string[] } & Intl.DateTimeFormatOptions` · **Facoltativo** · **Predefinito** `{}` Configurazione della formattazione. Oltre a `locales`, accetta qualsiasi opzione di [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat). Campi comuni: | Proprietà | Descrizione | Tipo | Facoltativo | Predefinito | | ----------- | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ----------- | ----------- | | `locales` | Impostazioni regionali per la formattazione. Se viene passato un array, vengono provate nell'ordine indicato. | `string \| string[]` | Sì | `en` | | `dateStyle` | Stile complessivo di formattazione della data. | `'full' \| 'long' \| 'medium' \| 'short'` | Sì | — | | `timeStyle` | Stile complessivo di formattazione dell'ora. | `'full' \| 'long' \| 'medium' \| 'short'` | Sì | — | | `weekday` | Rappresentazione del giorno della settimana. | `'long' \| 'short' \| 'narrow'` | Sì | — | | `year` | Rappresentazione dell'anno. | `'numeric' \| '2-digit'` | Sì | — | | `month` | Rappresentazione del mese. | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'` | Sì | — | | `day` | Rappresentazione del giorno. | `'numeric' \| '2-digit'` | Sì | — | | `hour` | Rappresentazione dell'ora. | `'numeric' \| '2-digit'` | Sì | — | | `minute` | Rappresentazione dei minuti. | `'numeric' \| '2-digit'` | Sì | — | | `second` | Rappresentazione dei secondi. | `'numeric' \| '2-digit'` | Sì | — | | `timeZone` | Identificatore del fuso orario IANA. | `string` | Sì | — | | `hour12` | Indica se usare il formato orario a 12 ore. | `boolean` | Sì | — | ## Restituisce [#returns] **Tipo** `string` La data e l'ora formattate secondo le convenzioni dell'impostazione regionale. ## Esempi [#examples] ```typescript import { formatDateTime } from 'generaltranslation'; const date = new Date('2024-03-14T14:30:45Z'); // Formattazione di base con un'impostazione regionale esplicita console.log(formatDateTime(date, { locales: 'en-US', timeZone: 'UTC' })); // Output: "3/14/2024" // Formattazione tedesca console.log(formatDateTime(date, { locales: 'de-DE', timeZone: 'UTC' })); // Output: "14.3.2024" // Fallback su più impostazioni regionali console.log(formatDateTime(date, { locales: ['ja-JP', 'en-US'], timeZone: 'UTC' })); // Output: "2024/3/14" (formato giapponese) ``` ```typescript // Stili 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', timeZone: 'UTC', })); // Output: "Thursday, March 14, 2024" // Data estesa con ora abbreviata console.log(formatDateTime(date, { locales: 'fr-FR', dateStyle: 'long', timeStyle: 'short', timeZone: 'UTC', })); // Output: "14 mars 2024 à 14:30" ``` ```typescript // Gestione del fuso orario const date = new Date('2024-03-14T14:30:45Z'); 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 [#notes] * Usa lo stesso `Intl.DateTimeFormat` di base del metodo della classe GT. * I risultati vengono memorizzati internamente nella cache per migliorare le prestazioni con combinazioni ripetute di impostazione regionale e opzioni. * Sono supportate tutte le opzioni standard di `Intl.DateTimeFormat`. * I fusi orari vengono gestiti correttamente quando specificati. L'output senza un `timeZone` fisso dipende dall'ambiente di runtime.