# General Translation React SDKs (gt-react, gt-next, gt-react-native): `<DateTime>`
URL: https://generaltranslation.com/it/docs/react/reference/components/datetime.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Formatta una data e un'ora per l'impostazione regionale attiva. Riferimento API per il componente `<DateTime>`.

Il componente `<DateTime>` visualizza un valore `Date` come data, ora o entrambe localizzate. Supporta opzioni di formattazione personalizzate e consente di sovrascrivere l&#39;impostazione regionale.

*Disponibile in `gt-react`, `gt-next`, `gt-tanstack-start` e `gt-react-native`.*

## Panoramica [#overview]

Passa un `Date` come contenuto figlio e `<DateTime>` lo formatta in base all&#39;impostazione regionale attiva.

```tsx
<DateTime>{new Date(1738010355000)}</DateTime>
// Output: 27/1/2025
```

Tutta la formattazione viene gestita localmente con [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat).

*Nota: `<DateTime>` può causare errori di idratazione di React nelle app con rendering lato server. Vedi [Come evitare gli errori di idratazione](#hydration).*

## Come funziona [#how-it-works]

* **Formattazione locale.** La data viene formattata nel browser con `Intl.DateTimeFormat`. Il suo valore non viene mai inviato all&#39;API di General Translation.
* **Determinazione dell&#39;impostazione regionale.** L&#39;impostazione regionale attiva determina la formattazione, a meno che non venga sovrascritta con `locales`.
* **Il fuso orario conta.** Senza un `timeZone` esplicito, l&#39;output dipende dal fuso orario dell&#39;ambiente di esecuzione, che può differire tra server e client.

## Props [#props]

| Prop                    | Descrizione                                                    | Type                         | Facoltativo | Predefinito                   |
| ----------------------- | -------------------------------------------------------------- | ---------------------------- | ----------- | ----------------------------- |
| [`children`](#children) | La data da formattare.                                         | `Date`                       | No          | —                             |
| [`options`](#options)   | Opzioni di `Intl.DateTimeFormat`.                              | `Intl.DateTimeFormatOptions` | Sì          | `{}`                          |
| [`locales`](#locales)   | Sovrascrive l&#39;impostazione regionale per la formattazione. | `string[]`                   | Sì          | Impostazione regionale attiva |
| [`name`](#name)         | Nome della variabile per la voce.                              | `string`                     | Sì          | —                             |

### `children` [#children]

**Type** `Date` · **Obbligatorio**

La data o l&#39;ora da formattare, sotto forma di oggetto `Date`.

### `options` [#options]

**Tipo** `Intl.DateTimeFormatOptions` · **Facoltativo** · **Predefinito** `{}`

La prop accetta [`Intl.DateTimeFormatOptions`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options). Tra le opzioni più comuni:

| Opzione                  | Descrizione                                                                                     | Tipo                                                                                    | Facoltativo | Predefinito                                              |
| ------------------------ | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ----------- | -------------------------------------------------------- |
| `localeMatcher`          | Algoritmo di corrispondenza dell&#39;impostazione regionale.                                    | `'lookup' \| 'best fit'`                                                                | Sì          | `'best fit'`                                             |
| `calendar`               | Sistema di calendario, ad esempio `gregory`, `chinese` o `persian`.                             | `string`                                                                                | Sì          | `'gregory'`                                              |
| `numberingSystem`        | Sistema di numerazione, ad esempio `latn` o `arab`.                                             | `string`                                                                                | Sì          | `'latn'`                                                 |
| `hour12`                 | Indica se usare il formato orario a 12 ore. Ha la precedenza su `hourCycle`.                    | `boolean`                                                                               | Sì          | Dipende dall&#39;impostazione regionale                  |
| `hourCycle`              | Ciclo orario usato dal formato dell&#39;ora.                                                    | `'h11' \| 'h12' \| 'h23' \| 'h24'`                                                      | Sì          | Dipende dall&#39;impostazione regionale                  |
| `timeZone`               | Fuso orario IANA o offset UTC.                                                                  | `string`                                                                                | Sì          | Fuso orario del runtime                                  |
| `weekday`                | Lunghezza del nome del giorno della settimana.                                                  | `'long' \| 'short' \| 'narrow'`                                                         | Sì          | —                                                        |
| `era`                    | Lunghezza dell&#39;etichetta dell&#39;era.                                                      | `'long' \| 'short' \| 'narrow'`                                                         | Sì          | —                                                        |
| `year`                   | Anno numerico o a due cifre.                                                                    | `'numeric' \| '2-digit'`                                                                | Sì          | `'numeric'` quando non sono impostati stili o componenti |
| `month`                  | Formato del mese numerico o per esteso.                                                         | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'`                               | Sì          | `'numeric'` quando non sono impostati stili o componenti |
| `day`                    | Giorno numerico o a due cifre.                                                                  | `'numeric' \| '2-digit'`                                                                | Sì          | `'numeric'` quando non sono impostati stili o componenti |
| `dayPeriod`              | Lunghezza di etichette come &quot;al mattino&quot; o &quot;di notte&quot;.                      | `'long' \| 'short' \| 'narrow'`                                                         | Sì          | —                                                        |
| `hour`                   | Ora numerica o a due cifre.                                                                     | `'numeric' \| '2-digit'`                                                                | Sì          | —                                                        |
| `minute`                 | Minuto numerico o a due cifre.                                                                  | `'numeric' \| '2-digit'`                                                                | Sì          | —                                                        |
| `second`                 | Secondo numerico o a due cifre.                                                                 | `'numeric' \| '2-digit'`                                                                | Sì          | —                                                        |
| `fractionalSecondDigits` | Numero di cifre della parte frazionaria dei secondi.                                            | `1 \| 2 \| 3`                                                                           | Sì          | —                                                        |
| `timeZoneName`           | Lunghezza e stile dell&#39;etichetta del fuso orario.                                           | `'long' \| 'short' \| 'shortOffset' \| 'longOffset' \| 'shortGeneric' \| 'longGeneric'` | Sì          | —                                                        |
| `formatMatcher`          | Algoritmo per associare le opzioni dei componenti a un formato dell&#39;impostazione regionale. | `'basic' \| 'best fit'`                                                                 | Sì          | `'best fit'`                                             |
| `dateStyle`              | Formato data predefinito.                                                                       | `'full' \| 'long' \| 'medium' \| 'short'`                                               | Sì          | —                                                        |
| `timeStyle`              | Formato ora predefinito.                                                                        | `'full' \| 'long' \| 'medium' \| 'short'`                                               | Sì          | —                                                        |

* `dateStyle` e `timeStyle` possono essere usati insieme, ma non con opzioni dei componenti come `weekday`, `year`, `month`, `day`, `hour`, `minute` o `second`.
* `hour12` ha la precedenza su `hourCycle`.
* `dayPeriod` influisce solo sui formati orari a 12 ore.
* I calendari supportati, i sistemi di numerazione, le etichette dei fusi orari e i valori delle opzioni dipendono dal runtime JavaScript.

Consulta la [documentazione delle opzioni di `Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options) per conoscere le opzioni più recenti disponibili e il comportamento del runtime.

### `locales` [#locales]

**Tipo** `string[]` · **Facoltativo** · **Predefinito** impostazione regionale attiva

Impostazioni regionali da usare per la formattazione. Se omesse, viene usata l&#39;impostazione regionale attiva. Vedi l&#39;[argomento `locales`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument).

### `name` [#name]

**Tipo** `stringa` · **Facoltativo**

Un nome facoltativo per il campo data, utilizzato per i metadati.

## Esempi [#examples]

*Gli esempi importano da `gt-react`; importa invece dal package del tuo framework.*

```tsx title="EventDate.tsx"
import { DateTime } from 'gt-react';

export default function EventDate({ event }) {
  return <DateTime>{event.date}</DateTime>; // [!code highlight]
}
```

```tsx title="EventDate.tsx"
import { DateTime } from 'gt-react';

export default function EventDate({ event }) {
  return <DateTime locales={['fr-FR']}>{event.date}</DateTime>; // [!code highlight]
}
```

```tsx title="EventDate.tsx"
import { T, DateTime } from 'gt-react';

export default function EventDate({ event }) {
  return (
    <T>
      The time of the event is <DateTime>{event.date}</DateTime>. // [!code highlight]
    </T>
  );
}
```

```tsx title="EventDate.tsx"
import { DateTime } from 'gt-react';

export default function EventDate({ event }) {
  return (
    <DateTime
      options={{
        dateStyle: 'full', // [!code highlight]
        timeStyle: 'long', // [!code highlight]
        timeZone: 'Australia/Sydney', // [!code highlight]
      }}
    >
      {event.date}
    </DateTime>
  );
}
```

## Evitare gli errori di idratazione [#hydration]

Poiché `<DateTime>` formatta le date localmente, può produrre un output diverso sul server e sul client. Quando React confronta l&#39;HTML generato sul server con il rendering sul client e i due non coincidono, si verifica un errore di idratazione. In genere questo accade quando:

* **Non è impostato alcun `timeZone` esplicito.** Il server può essere in esecuzione in UTC mentre il browser usa l&#39;ora locale, quindi un timestamp può essere visualizzato come `"1/27/2025"` sul server e `"1/28/2025"` sul client.
* **L&#39;impostazione regionale predefinita è diversa tra gli ambienti.** Un&#39;impostazione regionale predefinita non allineata produce stringhe diverse (ad esempio, `"27/01/2025"` rispetto a `"1/27/2025"`).

Imposta sia l&#39;impostazione regionale sia il fuso orario in modo che server e client producano sempre la stessa stringa:

```tsx
<DateTime locales={['en-US']} options={{ timeZone: 'UTC' }}>
  {event.date}
</DateTime>
```

## Sitemap

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