# General Translation Platform: formatRelativeTime URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time.mdx --- title: formatRelativeTime description: Formatta valori di tempo relativo come minuti fa o giorni da ora. Riferimento API per formatRelativeTime. --- Formatta un valore temporale relativo con un'unità esplicita in base alle convenzioni specifiche dell'impostazione regionale, su un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). General Translation usa l'API integrata `Intl.RelativeTimeFormat` per produrre espressioni come "2 ore fa" o "tra 3 giorni". ## Panoramica [#overview] Chiama `formatRelativeTime` su un'istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor) con un valore numerico, un'unità di tempo e un oggetto options facoltativo. Un valore negativo indica il passato, mentre un valore positivo indica il futuro. Restituisce la stringa formattata. ```typescript const gt = new GT(); const formatted = gt.formatRelativeTime(-1, 'day', { locales: 'en-US', numeric: 'auto', }); // "ieri" ``` Firma: ```typescript formatRelativeTime( value: number, unit: Intl.RelativeTimeFormatUnit, options?: { locales?: string | string[] } & Omit ): string ``` *Nota: `formatRelativeTime` viene eseguito localmente tramite `Intl.RelativeTimeFormat` e non richiede una chiave API. Per impostazione predefinita, usa l'impostazione regionale di destinazione dell'istanza, quindi usa come fallback l'impostazione regionale sorgente e `en`. Per la formattazione senza un'istanza `GT`, consulta la versione autonoma di [`formatRelativeTime`](/docs/platform/core/reference/utility-functions/formatting/format-relative-time).* ## Come funziona [#how-it-works] * **Risoluzione delle impostazioni regionali.** Quando `locales` viene omesso, il metodo usa l'impostazione regionale di destinazione dell'istanza, quindi l'impostazione regionale sorgente e `en`. * **Basato su Intl.** La formattazione è delegata all'API nativa del browser [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat). * **Valori predefiniti.** `numeric` è impostato per default su `'auto'` (quindi `-1 day` diventa "ieri" anziché "1 giorno fa") e `style` su `'long'`. ## Parametri [#parameters] | Parametro | Descrizione | Type | Facoltativo | Predefinito | | --------------------- | ------------------------------------------------------------------------------- | ----------------------------- | ----------- | ----------- | | [`value`](#value) | Il valore temporale relativo (negativo per il passato, positivo per il futuro). | `number` | No | — | | [`unit`](#unit) | L'unità di tempo. | `Intl.RelativeTimeFormatUnit` | No | — | | [`options`](#options) | Configurazione della formattazione. | `object` | Sì | — | ### `value` [#value] **Tipo** `number` · **Obbligatorio** Il valore temporale relativo. I valori negativi si riferiscono al passato; quelli positivi al futuro. ### `unit` [#unit] **Type** `Intl.RelativeTimeFormatUnit` · **Required** L'unità di tempo. Sono accettate le forme singolari e plurali: `'second'`/`'seconds'`, `'minute'`/`'minutes'`, `'hour'`/`'hours'`, `'day'`/`'days'`, `'week'`/`'weeks'`, `'month'`/`'months'`, `'quarter'`/`'quarters'` e `'year'`/`'years'`. ### `options` [#options] **Type** `{ locales?: string | string[] } & Omit` · **Facoltativo** Configurazione della formattazione. La tabella elenca le opzioni comuni esposte dai tipi Core pubblicati e i relativi valori predefiniti effettivi di Core. Consulta le [opzioni del costruttore `Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#options) per ulteriori dettagli standard e specifici del runtime. | Nome | Descrizione | Tipo | Facoltativo | Predefinito | | --------------- | ------------------------------------------------------------------------ | ------------------------------- | ----------- | -------------------------------------- | | `locales` | Impostazioni regionali per la formattazione. | `string \| string[]` | Sì | `targetLocale` → `sourceLocale` → `en` | | `numeric` | Indica se usare sempre un output numerico. | `'always' \| 'auto'` | Sì | `'auto'` | | `style` | La lunghezza dell'output. | `'long' \| 'short' \| 'narrow'` | Sì | `'long'` | | `localeMatcher` | L'algoritmo di corrispondenza delle impostazioni regionali da usare. | `'best fit' \| 'lookup'` | Sì | `'best fit'` | Core modifica il valore predefinito upstream di `numeric` da `'always'` a `'auto'`; gli altri valori predefiniti standard provengono da `Intl.RelativeTimeFormat`. ## Restituisce [#returns] **Tipo** `string` La stringa formattata del tempo relativo. ## Esempi [#examples] ```typescript import { GT } from 'generaltranslation'; const gt = new GT(); // Tempo passato gt.formatRelativeTime(-2, 'hour', { locales: 'en-US' }); // Restituisce: "2 hours ago" // Tempo futuro gt.formatRelativeTime(3, 'day', { locales: 'fr-FR' }); // Restituisce: "dans 3 jours" // Con numeric: 'auto' (predefinito) gt.formatRelativeTime(-1, 'day', { locales: 'en-US' }); // Restituisce: "yesterday" ``` ## Notes [#notes] * Il valore predefinito è `numeric: 'auto'` e `style: 'long'`. * Utilizza `Intl.RelativeTimeFormat` internamente. * Per selezionare automaticamente l'unità a partire da una `Date`, usa [`formatRelativeTimeFromDate`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date).