# General Translation Platform: formatRelativeTimeFromDate URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date.mdx --- title: formatRelativeTimeFromDate description: Met en forme un temps relatif à partir d’une date comparée à l’heure actuelle ou à une autre date. Référence d’API de formatRelativeTimeFromDate. --- Met en forme une chaîne de temps relatif à partir d’un `Date`, en sélectionnant automatiquement l’unité la plus appropriée, sur une instance de [GT](/docs/platform/core/reference/gt-class/constructor). General Translation compare la date à une date de base (l’heure actuelle par défaut) et génère des expressions comme « il y a 2 heures » ou « dans 3 jours ». ## Vue d’ensemble [#overview] Appelez `formatRelativeTimeFromDate` sur une instance de [`GT`](/docs/platform/core/reference/gt-class/constructor) avec la `Date` cible et, éventuellement, un objet d’options. La méthode renvoie la chaîne formatée en choisissant l’unité la plus adaptée à l’écart de temps. ```typescript const gt = new GT(); const pastDate = new Date(Date.now() - 7200000); // il y a 2 heures const formatted = gt.formatRelativeTimeFromDate(pastDate, { locales: 'en-US', }); // "il y a 2 heures" ``` Signature : ```typescript formatRelativeTimeFromDate( date: Date, options?: { locales?: string | string[]; baseDate?: Date; } & Omit ): string ``` *Remarque : `formatRelativeTimeFromDate` s’exécute localement à l’aide de `Intl.RelativeTimeFormat` et ne nécessite pas de clé d’API. Lorsque `locales` est omis, il utilise par défaut les paramètres régionaux de rendu de l’instance. Pour le formatage sans instance `GT`, consultez la version autonome de [`formatRelativeTimeFromDate`](/docs/platform/core/reference/utility-functions/formatting/format-relative-time-from-date).* ## Fonctionnement [#how-it-works] * **Sélection automatique de l’unité.** La méthode calcule la différence entre `date` et `baseDate` et choisit l’unité la plus appropriée (secondes, minutes, heures, jours, etc.). * **Date de base.** La comparaison s’effectue par rapport à `baseDate`, qui vaut par défaut `new Date()` (l’heure actuelle). * **Résolution du paramètre régional.** Lorsque `locales` est omis, la méthode se rabat sur les paramètres régionaux de rendu de l’instance. * **Valeurs par défaut.** `numeric` vaut par défaut `'auto'` et `style` vaut par défaut `'long'`. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | --------------------- | -------------------------------------------- | -------- | ---------- | ---------- | | [`date`](#date) | La date à formater par rapport à `baseDate`. | `Date` | Non | — | | [`options`](#options) | Configuration de formatage. | `object` | Oui | — | ### `date` [#date] **Type** `Date` · **Obligatoire** La date à formater par rapport à `baseDate`. ### `options` [#options] **Type** `{ locales?: string | string[]; baseDate?: Date } & Omit` · **Facultatif** Configuration de formatage : | Nom | Description | Type | Facultatif | Par défaut | | --------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------- | ---------- | ---------------------------------- | | `locales` | Paramètres régionaux de formatage. Utilise par défaut les paramètres régionaux de rendu de l’instance. | `string \| string[]` | Oui | paramètres régionaux de l’instance | | `baseDate` | La date de base pour la comparaison. | `Date` | Oui | `new Date()` | | `numeric` | Indique s’il faut toujours utiliser un résultat numérique. | `'always' \| 'auto'` | Oui | `'auto'` | | `style` | La longueur du résultat. | `'long' \| 'short' \| 'narrow'` | Oui | `'long'` | | `localeMatcher` | L’algorithme de correspondance des paramètres régionaux à utiliser. | `'best fit' \| 'lookup'` | Oui | `'best fit'` | ## Returns [#returns] **Type** `string` La chaîne de temps relatif au format, par exemple « il y a 2 heures » ou « dans 3 jours ». ## Exemples [#examples] ```typescript import { GT } from 'generaltranslation'; const gt = new GT(); const now = new Date(); // Sélectionne automatiquement "hours" const twoHoursAgo = new Date(now.getTime() - 7200000); gt.formatRelativeTimeFromDate(twoHoursAgo, { locales: 'en-US', baseDate: now }); // Retourne : "2 hours ago" // Sélectionne automatiquement "days" const threeDaysLater = new Date(now.getTime() + 259200000); gt.formatRelativeTimeFromDate(threeDaysLater, { locales: 'fr-FR', baseDate: now }); // Retourne : "dans 3 jours" ``` ## Remarques [#notes] * Sélectionne automatiquement l’unité la plus appropriée en fonction de l’écart de temps. * Utilise par défaut `numeric: 'auto'` et `style: 'long'`. * Si `baseDate` n’est pas fourni, la valeur par défaut est `new Date()`. * Pour formater explicitement une valeur et une unité, utilisez [`formatRelativeTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time).