# generaltranslation: General Translation Core SDK: formatRelativeTime URL: https://generaltranslation.com/fr/docs/core/functions/formatting/format-relative-time.mdx --- title: formatRelativeTime description: Fonction autonome pour formater des valeurs de temps relatif selon les conventions du paramètre régional --- ## Vue d’ensemble La fonction autonome `formatRelativeTime` formate une valeur de temps relative avec une unité explicite, selon les conventions propres au paramètre régional, sans nécessiter d’instance GT. ```typescript import { formatRelativeTime } from 'generaltranslation'; const formatted = formatRelativeTime(-1, 'day', { locales: 'en-US', numeric: 'auto' }); // Retourne : "yesterday" ``` ## Référence ### Paramètres | Nom | Type | Description | | --------- | ----------------------------- | ------------------------------------------------------------------------------------------- | | `value` | `number` | La valeur temporelle relative (négative pour le passé, positive pour le futur) | | `unit` | `Intl.RelativeTimeFormatUnit` | L’unité de temps (`'second'`, `'minute'`, `'hour'`, `'day'`, `'week'`, `'month'`, `'year'`) | | `options` | `object` | Configuration du formatage | ### Options | Nom | Type | Description | | ---------------- | ------------------------------- | ------------------------------------------------------------------------------------------- | | `locales` | `string \| string[]` | **Obligatoire.** Paramètres régionaux utilisés pour le formatage | | `numeric?` | `'always' \| 'auto'` | Indique s’il faut toujours utiliser une sortie numérique. La valeur par défaut est `'auto'` | | `style?` | `'long' \| 'short' \| 'narrow'` | Longueur de la sortie. La valeur par défaut est `'long'` | | `localeMatcher?` | `'best fit' \| 'lookup'` | Algorithme de correspondance des paramètres régionaux à utiliser | ### Renvoie `string` - La chaîne de caractères de temps relatif formatée. *** ## Exemple ### Utilisation de base ```typescript copy import { formatRelativeTime } from 'generaltranslation'; // Temps passé console.log(formatRelativeTime(-2, 'hour', { locales: 'en-US' })); // Sortie : "2 hours ago" // Temps futur console.log(formatRelativeTime(3, 'day', { locales: 'en-US' })); // Sortie : "in 3 days" // Avec numeric : 'auto' (par défaut) console.log(formatRelativeTime(-1, 'day', { locales: 'en-US' })); // Sortie : "yesterday" ``` ### Styles de formatage ```typescript copy import { formatRelativeTime } from 'generaltranslation'; // Style longue (par défaut) console.log(formatRelativeTime(-2, 'day', { locales: 'en-US', style: 'long' })); // Sortie : "2 days ago" // Style courte console.log(formatRelativeTime(-2, 'day', { locales: 'en-US', style: 'short' })); // Sortie : "2 days ago" (peut être abrégé dans certains paramètres régionaux) // Style étroite console.log(formatRelativeTime(-2, 'day', { locales: 'en-US', style: 'narrow' })); // Sortie : "2d ago" ``` ### Plusieurs paramètres régionaux ```typescript copy import { formatRelativeTime } from 'generaltranslation'; const locales = ['en-US', 'fr-FR', 'ja-JP', 'de-DE']; locales.forEach(locale => { console.log(`${locale}: ${formatRelativeTime(-3, 'hour', { locales: locale })}`); }); // Résultat : // en-US: 3 hours ago // fr-FR: il y a 3 heures // ja-JP: 3 時間前 // de-DE: vor 3 Stunden ``` *** ## Remarques * La valeur par défaut est `numeric: 'auto'` et `style: 'long'` * Avec `numeric: 'auto'`, des valeurs comme `-1 day` produisent « hier » au lieu de « il y a 1 jour » * S’appuie en interne sur [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat) * Les résultats sont mis en cache en interne pour améliorer les performances lorsque les mêmes combinaisons de paramètre régional et d’options sont réutilisées ## Étapes suivantes * Voir [`formatRelativeTimeFromDate`](/docs/core/functions/formatting/format-relative-time-from-date) pour sélectionner automatiquement l’unité à partir d’un objet Date * Voir [`formatDateTime`](/docs/core/functions/formatting/format-date-time) pour le formatage autonome des dates et heures * Voir la méthode [`formatRelativeTime`](/docs/core/class/methods/formatting/format-relative-time) de la classe GT pour une utilisation via une instance