# General Translation Platform: formatRelativeTimeFromDate URL: https://generaltranslation.com/fr/docs/platform/core/reference/utility-functions/formatting/format-relative-time-from-date.mdx --- title: formatRelativeTimeFromDate description: Met en forme un temps relatif à partir d’une date sans instance GT. Référence API de formatRelativeTimeFromDate. --- [`formatRelativeTimeFromDate`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date) est une fonction utilitaire autonome de la bibliothèque Core de General Translation qui met en forme une chaîne exprimant un temps relatif à partir d’un objet `Date`, en sélectionnant automatiquement l’unité la plus appropriée (secondes, minutes, heures, jours, semaines, mois ou années). ## Aperçu [#overview] Importez `formatRelativeTimeFromDate` directement depuis `generaltranslation` et appelez cette fonction avec une valeur `Date` et un objet d’options. Elle ne nécessite ni clé API ni instance de [GT](/docs/platform/core/reference/gt-class/constructor). Pour un formatage basé sur une instance qui hérite du paramètre régional de l’instance, utilisez plutôt la méthode [`formatRelativeTimeFromDate`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date) sur une instance de [`GT`](/docs/platform/core/reference/gt-class/constructor). Pour formater explicitement vous-même une valeur et une unité, utilisez [`formatRelativeTime`](/docs/platform/core/reference/utility-functions/formatting/format-relative-time). ```typescript import { formatRelativeTimeFromDate } from 'generaltranslation'; const pastDate = new Date(Date.now() - 7200000); // Il y a 2 heures const formatted = formatRelativeTimeFromDate(pastDate, { locales: 'en-US', baseDate: new Date(), }); // Retourne : "2 hours ago" ``` Signature : ```typescript formatRelativeTimeFromDate( date: Date, options?: { locales?: string | string[] } & Omit & { baseDate?: Date } ): string ``` ## Fonctionnement [#how-it-works] * **Sélection de l’unité.** Sélectionne automatiquement l’unité la plus adaptée en fonction de l’écart entre `date` et `baseDate`. * **API sous-jacente.** S’appuie sur [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat). * **Mode numérique.** Utilise par défaut `numeric: 'auto'` et `style: 'long'`. * **Date de base par défaut.** Si `baseDate` n’est pas fourni, la valeur par défaut est `new Date()`. Attention, cela peut provoquer des incohérences d’hydratation dans les applications avec rendu côté serveur. * **Résolution du paramètre régional.** Si `locales` est omis, la bibliothèque utilise le paramètre régional par défaut, `en`. ## 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, y compris le ou les paramètres régionaux cibles et la date de référence pour la comparaison. | `{ locales?: string \| string[] } & Omit & { baseDate?: Date }` | Oui | `{}` | ### `date` [#date] **Type** `Date` · **Obligatoire** La `Date` à formater par rapport à `baseDate`. ### `options` [#options] **Type** `{ locales?: string | string[] } & Omit & { baseDate?: Date }` · **Facultatif** · **Par défaut** `{}` Configuration de mise en forme : | Propriété | Description | Type | Facultatif | Par défaut | | --------------- | ------------------------------------------------------------------- | ------------------------------- | ---------- | ------------ | | `locales` | Paramètre(s) régional(aux) à utiliser pour la mise en forme. | `string \| string[]` | Oui | `en` | | `baseDate` | La date de référence pour la comparaison. | `Date` | Oui | `new Date()` | | `numeric` | Indique s’il faut toujours utiliser un format 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'` | ## Retourne [#returns] **Type** `string` La chaîne de caractères de temps relatif formatée (par exemple, « il y a 2 heures », « dans 3 jours »). ## Exemples [#examples] ```typescript import { formatRelativeTimeFromDate } from 'generaltranslation'; const now = new Date(); // il y a 2 heures const pastDate = new Date(now.getTime() - 7200000); console.log(formatRelativeTimeFromDate(pastDate, { locales: 'en-US', baseDate: now, })); // Sortie : "2 hours ago" // dans 3 jours const futureDate = new Date(now.getTime() + 259200000); console.log(formatRelativeTimeFromDate(futureDate, { locales: 'en-US', baseDate: now, })); // Sortie : "in 3 days" ``` ```typescript // Plusieurs paramètres régionaux const pastDate = new Date(Date.now() - 86400000); // ~il y a 1 jour const now = new Date(); const locales = ['en-US', 'fr-FR', 'ja-JP', 'de-DE']; locales.forEach((locale) => { console.log(`${locale}: ${formatRelativeTimeFromDate(pastDate, { locales: locale, baseDate: now, })}`); }); // Résultat : // en-US: yesterday // fr-FR: hier // ja-JP: 昨日 // de-DE: gestern ``` ## Remarques [#notes] * Sélectionne automatiquement l’unité la plus appropriée en fonction de l’écart entre `date` et `baseDate`. * Utilise par défaut `numeric: 'auto'` et `style: 'long'`. * Si `baseDate` n’est pas fourni, la valeur par défaut est `new Date()` — sachez que cela peut entraîner des incohérences d’hydratation dans les applications avec rendu côté serveur. * Utilise [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat) en interne.