# General Translation Platform: formatDateTime
URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/formatting/format-date-time.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Met en forme les dates et heures selon le paramètre régional. Référence de l’API formatDateTime.

Met en forme une date et une heure sur une instance de [GT](/docs/platform/core/reference/gt-class/constructor) selon les conventions propres au paramètre régional. General Translation utilise l’API intégrée `Intl.DateTimeFormat` pour gérer automatiquement les formats de date et d’heure, les calendriers et les fuseaux horaires du paramètre régional cible.

## Vue d’ensemble [#overview]

Appelez `formatDateTime` sur une instance de [`GT`](/docs/platform/core/reference/gt-class/constructor) avec un `Date` et, éventuellement, un objet d’options. Elle renvoie la date et l’heure formatées sous la forme d’une chaîne.

```typescript
const gt = new GT({ targetLocale: 'de-DE' });

const formatted = gt.formatDateTime(new Date(), {
  dateStyle: 'medium',
  timeStyle: 'short',
});
// "25.09.2025, 18:06" (formatage de date/heure en allemand)
```

Signature :

```typescript
formatDateTime(
  date: Date,
  options?: { locales?: string | string[] } & Intl.DateTimeFormatOptions
): string
```

*Remarque : `formatDateTime` s’exécute localement avec `Intl.DateTimeFormat` et ne nécessite pas de clé API. Par défaut, il utilise le paramètre régional cible de l’instance, puis se replie sur le paramètre régional source et `en` ; passez `locales` pour les remplacer. Pour le formatage sans instance `GT`, consultez la version autonome de [`formatDateTime`](/docs/platform/core/reference/utility-functions/formatting/format-date-time).*

## Fonctionnement [#how-it-works]

* **Résolution des paramètres régionaux.** Par défaut, la méthode applique le formatage selon le paramètre régional cible de l&#39;instance, en utilisant à défaut le paramètre régional source, puis `en`. Passez `locales` dans les options pour les remplacer lors d&#39;un seul appel.
* **Basé sur Intl.** Le formatage est délégué à l&#39;API native du navigateur [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat), donc toutes les `Intl.DateTimeFormatOptions` standard sont prises en charge.
* **Fuseaux horaires.** Les fuseaux horaires sont correctement gérés lorsqu&#39;un `timeZone` est spécifié ; sinon, le fuseau horaire local du runtime est utilisé.

## Paramètres [#parameters]

| Paramètre             | Description                                                                                                | Type     | Facultatif | Par défaut |
| --------------------- | ---------------------------------------------------------------------------------------------------------- | -------- | ---------- | ---------- |
| [`date`](#date)       | L’objet de date à formater.                                                                                | `Date`   | Non        | —          |
| [`options`](#options) | Configuration de mise en forme, qui étend `Intl.DateTimeFormatOptions` avec une redéfinition de `locales`. | `object` | Oui        | —          |

### `date` [#date]

**Type** `Date` · **Obligatoire**

Objet `Date` à formater.

### `options` [#options]

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

Configuration de formatage. Le tableau répertorie les options courantes exposées par les types Core publiés et leurs valeurs par défaut effectives dans Core. (Consultez les [options du constructeur `Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options) pour obtenir des précisions complémentaires sur les normes et spécifiques au Runtime).

| Nom                      | Description                                                               | Type                                                                                    | Facultatif | Défaut                                                   |
| ------------------------ | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------- | -------------------------------------------------------- |
| `locales`                | Remplace les paramètres régionaux utilisés pour le formatage.             | `string \| string[]`                                                                    | Oui        | `targetLocale` → `sourceLocale` → `en`                   |
| `localeMatcher`          | Algorithme de correspondance des paramètres régionaux.                    | `'lookup' \| 'best fit'`                                                                | Oui        | `'best fit'`                                             |
| `dateStyle`              | Style global de formatage de la date.                                     | `'full' \| 'long' \| 'medium' \| 'short'`                                               | Oui        | —                                                        |
| `timeStyle`              | Style global de formatage de l’heure.                                     | `'full' \| 'long' \| 'medium' \| 'short'`                                               | Oui        | —                                                        |
| `weekday`                | Représentation du jour de la semaine.                                     | `'long' \| 'short' \| 'narrow'`                                                         | Oui        | —                                                        |
| `era`                    | Représentation de l’ère.                                                  | `'long' \| 'short' \| 'narrow'`                                                         | Oui        | —                                                        |
| `year`                   | Représentation de l’année.                                                | `'numeric' \| '2-digit'`                                                                | Oui        | `'numeric'` lorsqu’aucun style ou composant n’est défini |
| `month`                  | Représentation du mois.                                                   | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'`                               | Oui        | `'numeric'` lorsqu’aucun style ou composant n’est défini |
| `day`                    | Représentation du jour.                                                   | `'numeric' \| '2-digit'`                                                                | Oui        | `'numeric'` lorsqu’aucun style ou composant n’est défini |
| `dayPeriod`              | Formatage de la période de la journée (matin, après-midi, etc.).          | `'narrow' \| 'short' \| 'long'`                                                         | Oui        | —                                                        |
| `hour`                   | Représentation de l’heure.                                                | `'numeric' \| '2-digit'`                                                                | Oui        | —                                                        |
| `minute`                 | Représentation des minutes.                                               | `'numeric' \| '2-digit'`                                                                | Oui        | —                                                        |
| `second`                 | Représentation des secondes.                                              | `'numeric' \| '2-digit'`                                                                | Oui        | —                                                        |
| `fractionalSecondDigits` | Nombre de chiffres pour les fractions de seconde.                         | `1 \| 2 \| 3`                                                                           | Oui        | —                                                        |
| `timeZoneName`           | Format du nom du fuseau horaire.                                          | `'long' \| 'short' \| 'longOffset' \| 'shortOffset' \| 'longGeneric' \| 'shortGeneric'` | Oui        | —                                                        |
| `timeZone`               | Nom de fuseau horaire IANA ou identifiant de décalage UTC pris en charge. | `string`                                                                                | Oui        | fuseau horaire du Runtime                                |
| `hour12`                 | Indique s’il faut utiliser le format horaire sur 12 heures.               | `boolean`                                                                               | Oui        | dépend du paramètre régional                             |
| `hourCycle`              | Préférence de cycle horaire.                                              | `'h11' \| 'h12' \| 'h23' \| 'h24'`                                                      | Oui        | dépend du paramètre régional                             |
| `calendar`               | Système de calendrier à utiliser.                                         | `string`                                                                                | Oui        | `'gregory'`                                              |
| `numberingSystem`        | Système de numération des chiffres.                                       | `string`                                                                                | Oui        | `'latn'`                                                 |
| `formatMatcher`          | Algorithme de correspondance des formats.                                 | `'basic' \| 'best fit'`                                                                 | Oui        | `'best fit'`                                             |

`dateStyle` et `timeStyle` peuvent être combinés entre eux, mais pas avec des options individuelles de composant date-heure telles que `year`, `month` ou `hour`. `hour12` remplace `hourCycle`, et `dayPeriod` n’affecte que les cycles sur 12 heures. Core définit `calendar: 'gregory'` et `numberingSystem: 'latn'` ; l’implémentation sous-jacente de `Intl.DateTimeFormat` choisit sinon les deux à partir du paramètre régional.

## Retourne [#returns]

**Type** `string`

La date et l’heure formatées, selon les conventions du paramètre régional cible.

## Exemples [#examples]

*Remarque : les exemples sans `timeZone` explicite s’affichent dans le fuseau horaire local du runtime ; les valeurs horaires ci-dessous supposent `America/Los_Angeles` (UTC−7 à cette date).*

```typescript
import { GT } from 'generaltranslation';

const gt = new GT({ targetLocale: 'en-US' });
const date = new Date('2024-03-14T14:30:45Z');

// Formatage de date de base (utilise les options par défaut)
console.log(gt.formatDateTime(date));
// Output: "3/14/2024"

// Formatage avec le paramètre régional allemand
console.log(gt.formatDateTime(date, { locales: 'de-DE' }));
// Output: "14.3.2024"

// Formatage avec le paramètre régional japonais
console.log(gt.formatDateTime(date, { locales: 'ja-JP' }));
// Output: "2024/3/14"
```

```typescript
// Styles de date et d'heure
const date = new Date('2024-03-14T14:30:45Z');

// Style de date complet
console.log(gt.formatDateTime(date, { dateStyle: 'full' }));
// Sortie : "Thursday, March 14, 2024"

// Date longue avec heure abrégée
console.log(gt.formatDateTime(date, {
  dateStyle: 'long',
  timeStyle: 'short',
}));
// Sortie : "March 14, 2024 at 7:30 AM"

// Composants de date personnalisés
console.log(gt.formatDateTime(date, {
  weekday: 'long',
  year: 'numeric',
  month: 'long',
  day: 'numeric',
}));
// Sortie : "Thursday, March 14, 2024"
```

```typescript
// Fuseau horaire et format d'heure
const date = new Date('2024-03-14T14:30:45Z');

// Forcer le format 12 heures
console.log(gt.formatDateTime(date, {
  hour: 'numeric',
  minute: '2-digit',
  hour12: true,
}));
// Résultat : "7:30 AM"

// Forcer le format 24 heures
console.log(gt.formatDateTime(date, {
  hour: 'numeric',
  minute: '2-digit',
  hour12: false,
}));
// Résultat : "07:30"

// Fuseau horaire spécifique
console.log(gt.formatDateTime(date, {
  timeZone: 'America/New_York',
  dateStyle: 'medium',
  timeStyle: 'short',
}));
// Résultat : "Mar 14, 2024, 10:30 AM"
```

## Remarques [#notes]

* Le formatage des dates suit automatiquement les conventions du paramètre régional actif.
* La méthode utilise `Intl.DateTimeFormat`, natif au navigateur, pour garantir de bonnes performances et une grande précision.
* Les fuseaux horaires sont correctement pris en charge lorsqu’ils sont spécifiés.

## Sitemap

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