# generaltranslation: General Translation Core SDK: formatRelativeTimeFromDate URL: https://generaltranslation.com/fr/docs/core/functions/formatting/format-relative-time-from-date.mdx --- title: formatRelativeTimeFromDate description: Fonction autonome pour formater un temps relatif à partir d’un objet Date, en sélectionnant automatiquement l’unité la plus appropriée --- ## Vue d’ensemble La fonction autonome `formatRelativeTimeFromDate` formate une chaîne de caractères 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). ```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" ``` ## Référence ### Paramètres | Nom | Type | Description | | --------- | -------- | ------------------------------------------- | | `date` | `Date` | La date à formater par rapport à `baseDate` | | `options` | `object` | Configuration du formatage | ### Options | Nom | Type | Description | | ---------------- | ------------------------------- | ------------------------------------------------------------------------------- | | `locales` | `string \| string[]` | **Obligatoire.** Paramètres régionaux à utiliser pour le formatage | | `baseDate?` | `Date` | La date de référence pour la comparaison. Par défaut : `new Date()` | | `numeric?` | `'always' \| 'auto'` | Indique s’il faut toujours utiliser une valeur numérique. Par défaut : `'auto'` | | `style?` | `'long' \| 'short' \| 'narrow'` | La longueur du résultat. Par défaut : `'long'` | | `localeMatcher?` | `'best fit' \| 'lookup'` | L’algorithme de correspondance des paramètres régionaux à utiliser | ### Valeur de retour `string` - La chaîne de caractères de temps relatif formatée (par ex. : "il y a 2 heures", "dans 3 jours"). *** ## Exemple ### Utilisation de base ```typescript copy 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 })); // Résultat : "il y a 2 heures" // dans 3 jours const futureDate = new Date(now.getTime() + 259200000); console.log(formatRelativeTimeFromDate(futureDate, { locales: 'en-US', baseDate: now })); // Résultat : "dans 3 jours" ``` ### Plusieurs paramètres régionaux ```typescript copy import { formatRelativeTimeFromDate } from 'generaltranslation'; 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 * Sélectionne automatiquement la meilleure unité 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()` — attention, cela peut entraîner des problèmes d’hydratation dans les applications générées côté serveur * Utilise [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat) en interne ## Prochaines étapes * Consultez [`formatRelativeTime`](/docs/core/functions/formatting/format-relative-time) pour formater explicitement la valeur et l’unité * Consultez [`formatDateTime`](/docs/core/functions/formatting/format-date-time) pour le formatage autonome des dates et heures * Consultez la méthode GT [`formatRelativeTimeFromDate`](/docs/core/class/methods/formatting/format-relative-time-from-date) pour une utilisation via une instance