# General Translation Platform: formatDateTime
URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/formatting/format-date-time.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Formatta date e orari in base all'impostazione regionale. Riferimento API per formatDateTime.

Formatta una data e un&#39;ora secondo le convenzioni dell&#39;impostazione regionale in un&#39;istanza di [GT](/docs/platform/core/reference/gt-class/constructor). General Translation utilizza l&#39;API integrata `Intl.DateTimeFormat` per gestire automaticamente i formati di data e ora, i calendari e i fusi orari per l&#39;impostazione regionale di destinazione.

## Panoramica [#overview]

Chiama `formatDateTime` su un&#39;istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor) passando un `Date` e, facoltativamente, un oggetto options. Restituisce la data e l&#39;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 l&#39;impostazione regionale di destinazione dell&#39;istanza, quindi ricorre all&#39;impostazione regionale sorgente e a `en`; passa `locales` per sovrascriverle. Per la formattazione senza un&#39;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 all&#39;impostazione regionale di destinazione dell&#39;istanza, ricorrendo a quella sorgente e poi a `en`. Per sovrascrivere questa impostazione 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&#39;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&#39;oggetto `Date` da formattare.

### `options` [#options]

**Tipo** `{ locales?: string | string[] } & Intl.DateTimeFormatOptions` · **Facoltativo**

Configurazione di formattazione. La tabella elenca le opzioni comuni esposte dai tipi Core pubblicati e i relativi valori predefiniti effettivi di Core. (Consulta le [opzioni del costruttore `Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options) per ulteriori dettagli standard e specifici del runtime).

| Nome                     | Descrizione                                                           | Tipo                                                                                    | Facoltativo | Predefinito                                              |
| ------------------------ | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ----------- | -------------------------------------------------------- |
| `locales`                | Sostituisce le impostazioni regionali usate per la formattazione.     | `string \| string[]`                                                                    | Sì          | `targetLocale` → `sourceLocale` → `en`                   |
| `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&#39;ora.                      | `'full' \| 'long' \| 'medium' \| 'short'`                                               | Sì          | —                                                        |
| `weekday`                | Rappresentazione del giorno della settimana.                          | `'long' \| 'short' \| 'narrow'`                                                         | Sì          | —                                                        |
| `era`                    | Rappresentazione dell&#39;era.                                        | `'long' \| 'short' \| 'narrow'`                                                         | Sì          | —                                                        |
| `year`                   | Rappresentazione dell&#39;anno.                                       | `'numeric' \| '2-digit'`                                                                | Sì          | `'numeric'` quando non sono impostati stili o componenti |
| `month`                  | Rappresentazione del mese.                                            | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'`                               | Sì          | `'numeric'` quando non sono impostati stili o componenti |
| `day`                    | Rappresentazione del giorno.                                          | `'numeric' \| '2-digit'`                                                                | Sì          | `'numeric'` quando non sono impostati stili o componenti |
| `dayPeriod`              | Formattazione del periodo della giornata (mattina, pomeriggio, ecc.). | `'narrow' \| 'short' \| 'long'`                                                         | Sì          | —                                                        |
| `hour`                   | Rappresentazione dell&#39;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`               | Nome del fuso orario IANA o identificatore di offset UTC supportato.  | `string`                                                                                | Sì          | fuso orario del runtime                                  |
| `hour12`                 | Indica se usare il formato orario a 12 ore.                           | `boolean`                                                                               | Sì          | dipendente dall&#39;impostazione regionale               |
| `hourCycle`              | Preferenza per il ciclo orario.                                       | `'h11' \| 'h12' \| 'h23' \| 'h24'`                                                      | Sì          | dipendente dall&#39;impostazione regionale               |
| `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'`                                             |

`dateStyle` e `timeStyle` possono essere combinati tra loro, ma non con singole opzioni dei componenti di data e ora come `year`, `month` o `hour`. `hour12` sostituisce `hourCycle` e `dayPeriod` influenza solo i cicli a 12 ore. Core imposta `calendar: 'gregory'` e `numberingSystem: 'latn'`; altrimenti, `Intl.DateTimeFormat` sceglie entrambi in base all&#39;impostazione regionale.

## Returns [#returns]

**Type** `string`

La data e l&#39;ora formattate secondo le convenzioni dell&#39;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&#39;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.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
