# General Translation Platform: formatDateTime URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/formatting/format-date-time.mdx --- title: formatDateTime description: Formatta date e orari in base all'impostazione regionale. Riferimento API per formatDateTime. --- Formatta una data e un'ora secondo le convenzioni dell'impostazione regionale in un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). General Translation utilizza l'API integrata `Intl.DateTimeFormat` per gestire automaticamente i formati di data e ora, i calendari e i fusi orari per l'impostazione regionale di destinazione. ## Panoramica [#overview] Chiama `formatDateTime` su un'istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor) passando un `Date` e, facoltativamente, un oggetto options. Restituisce la data e l'ora formattate come stringa. ```typescript const gt = new GT({ targetLocale: 'de-DE' }); const formatted = gt.formatDateTime(new Date(), { dateStyle: 'medium', timeStyle: 'short', }); // "25.09.2025, 18:06" (formattazione data/ora in tedesco) ``` Sintassi: ```typescript formatDateTime( date: Date, options?: { locales?: string | string[] } & Intl.DateTimeFormatOptions ): string ``` *Nota: `formatDateTime` viene eseguito localmente tramite `Intl.DateTimeFormat` e non richiede una chiave API. Per impostazione predefinita usa le impostazioni regionali di rendering dell'istanza; passa `locales` per sostituirle. Per la formattazione senza un'istanza `GT`, consulta la versione standalone di [`formatDateTime`](/docs/platform/core/reference/utility-functions/formatting/format-date-time).* ## Come funziona [#how-it-works] * **Risoluzione delle impostazioni regionali.** Per impostazione predefinita, il metodo formatta in base alle impostazioni regionali dell'istanza. Per sovrascriverle per una singola chiamata, passa `locales` nelle opzioni. * **Basato su Intl.** La formattazione è delegata a [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat), integrato nel browser, quindi sono supportate tutte le `Intl.DateTimeFormatOptions` standard. * **Fusi orari.** I fusi orari vengono gestiti correttamente quando viene specificato un `timeZone`; altrimenti viene usato il fuso orario locale del runtime. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | ----------- | ----------- | | [`date`](#date) | L'oggetto data da formattare. | `Date` | No | — | | [`options`](#options) | Configurazione di formattazione che estende `Intl.DateTimeFormatOptions` con una sovrascrittura di `locales`. | `object` | Sì | — | ### `date` [#date] **Tipo** `Date` · **Obbligatorio** L'oggetto `Date` da formattare. ### `options` [#options] **Tipo** `{ locales?: string | string[] } & Intl.DateTimeFormatOptions` · **Facoltativo** Configurazione di formattazione. Estende `Intl.DateTimeFormatOptions` con un campo `locales` aggiuntivo: | Nome | Descrizione | Tipo | Facoltativo | Predefinito | | ------------------------ | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ----------- | --------------------------------------- | | `locales` | Sostituisce le impostazioni regionali usate per la formattazione. | `string \| string[]` | Sì | impostazioni regionali dell'istanza | | `localeMatcher` | Algoritmo di corrispondenza delle impostazioni regionali. | `'lookup' \| 'best fit'` | Sì | `'best fit'` | | `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ì | — | | `era` | Rappresentazione dell'era. | `'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ì | — | | `dayPeriod` | Formattazione del periodo della giornata (mattina, pomeriggio, ecc.). | `'narrow' \| 'short' \| 'long'` | 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ì | — | | `fractionalSecondDigits` | Numero di cifre decimali dei secondi. | `1 \| 2 \| 3` | Sì | — | | `timeZoneName` | Formato del nome del fuso orario. | `'long' \| 'short' \| 'longOffset' \| 'shortOffset' \| 'longGeneric' \| 'shortGeneric'` | Sì | — | | `timeZone` | Identificatore IANA del fuso orario. | `string` | Sì | fuso orario del runtime | | `hour12` | Indica se usare il formato orario a 12 ore. | `boolean` | Sì | — | | `hourCycle` | Preferenza per il ciclo orario. | `'h11' \| 'h12' \| 'h23' \| 'h24'` | Sì | — | | `calendar` | Sistema di calendario da usare. | `string` | Sì | `'gregory'` | | `numberingSystem` | Sistema di numerazione per le cifre. | `string` | Sì | `'latn'` | | `formatMatcher` | Algoritmo di corrispondenza del formato. | `'basic' \| 'best fit'` | Sì | `'best fit'` | ## Returns [#returns] **Type** `string` La data e l'ora formattate secondo le convenzioni dell'impostazione regionale di destinazione. ## Esempi [#examples] *Nota: gli esempi senza un `timeZone` esplicito vengono visualizzati nel fuso orario locale del runtime; gli output relativi all'ora qui sotto presuppongono `America/Los_Angeles` (UTC−7 in questa data).* ```typescript import { GT } from 'generaltranslation'; const gt = new GT({ targetLocale: 'en-US' }); const date = new Date('2024-03-14T14:30:45Z'); // Formattazione della data di base (usa le opzioni predefinite) console.log(gt.formatDateTime(date)); // Output: "3/14/2024" // Formattazione con impostazione regionale tedesca console.log(gt.formatDateTime(date, { locales: 'de-DE' })); // Output: "14.3.2024" // Formattazione con impostazione regionale giapponese console.log(gt.formatDateTime(date, { locales: 'ja-JP' })); // Output: "2024/3/14" ``` ```typescript // Stili di data e ora const date = new Date('2024-03-14T14:30:45Z'); // Stile data completo console.log(gt.formatDateTime(date, { dateStyle: 'full' })); // Output: "Thursday, March 14, 2024" // Data lunga con ora breve console.log(gt.formatDateTime(date, { dateStyle: 'long', timeStyle: 'short', })); // Output: "March 14, 2024 at 7:30 AM" // Componenti data personalizzati console.log(gt.formatDateTime(date, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', })); // Output: "Thursday, March 14, 2024" ``` ```typescript // Fuso orario e formato orario const date = new Date('2024-03-14T14:30:45Z'); // Forza il formato a 12 ore console.log(gt.formatDateTime(date, { hour: 'numeric', minute: '2-digit', hour12: true, })); // Output: "7:30 AM" // Forza il formato a 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 [#notes] * La formattazione della data segue automaticamente le convenzioni dell’impostazione regionale attiva. * Il metodo usa `Intl.DateTimeFormat` nativo del browser per garantire prestazioni e accuratezza. * I fusi orari vengono gestiti correttamente quando sono specificati.