# General Translation Platform: formatDateTime URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/formatting/format-date-time.mdx --- title: formatDateTime 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 les paramètres régionaux de rendu de l’instance ; 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 la mise en forme selon les paramètres régionaux de l'instance. Passez `locales` dans les options pour les remplacer lors d'un seul appel. * **Basé sur Intl.** La mise en forme est déléguée à l'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'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. Étend `Intl.DateTimeFormatOptions` avec un champ `locales` supplémentaire : | Nom | Description | Type | Facultatif | Défaut | | ------------------------ | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------- | ---------------------------------- | | `locales` | Remplace les paramètres régionaux utilisés pour le formatage. | `string \| string[]` | Oui | paramètres régionaux de l’instance | | `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 | — | | `month` | Représentation du mois. | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'` | Oui | — | | `day` | Représentation du jour. | `'numeric' \| '2-digit'` | Oui | — | | `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` | Identifiant IANA du fuseau horaire. | `string` | Oui | fuseau horaire du Runtime | | `hour12` | Indique s’il faut utiliser le format horaire sur 12 heures. | `boolean` | Oui | — | | `hourCycle` | Préférence de cycle horaire. | `'h11' \| 'h12' \| 'h23' \| 'h24'` | Oui | — | | `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'` | ## 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.