# General Translation Platform: formatRelativeTimeFromDate URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date.mdx --- title: formatRelativeTimeFromDate description: Formatta il tempo relativo di una data rispetto all'ora corrente o a un'altra data. Riferimento API per formatRelativeTimeFromDate. --- Formatta una stringa di tempo relativo a partire da un `Date`, selezionando automaticamente l'unità più appropriata, in un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). General Translation confronta la data con una data di riferimento (per impostazione predefinita, l'ora corrente) e produce espressioni come "2 ore fa" o "tra 3 giorni". ## Panoramica [#overview] Chiama `formatRelativeTimeFromDate` su un'istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor), passando la `Date` di destinazione e, facoltativamente, un oggetto options. Restituisce una stringa formattata, scegliendo l'unità più adatta in base alla differenza di tempo. ```typescript const gt = new GT(); const pastDate = new Date(Date.now() - 7200000); // 2 ore fa const formatted = gt.formatRelativeTimeFromDate(pastDate, { locales: 'en-US', }); // "2 ore fa" ``` Firma: ```typescript formatRelativeTimeFromDate( date: Date, options?: { locales?: string | string[]; baseDate?: Date; } & Omit ): string ``` *Nota: `formatRelativeTimeFromDate` viene eseguito localmente tramite `Intl.RelativeTimeFormat` e non richiede una chiave API. Se `locales` viene omesso, usa come fallback le impostazioni regionali di rendering dell'istanza. Per la formattazione senza un'istanza `GT`, consulta la versione autonoma di [`formatRelativeTimeFromDate`](/docs/platform/core/reference/utility-functions/formatting/format-relative-time-from-date).* ## Come funziona [#how-it-works] * **Selezione automatica dell'unità.** Il metodo calcola la differenza tra `date` e `baseDate` e sceglie l'unità più adatta (secondi, minuti, ore, giorni e così via). * **Data di riferimento.** Il confronto viene effettuato rispetto a `baseDate`, che per impostazione predefinita corrisponde a `new Date()` (l'ora corrente). * **Risoluzione dell'impostazione regionale.** Quando `locales` viene omesso, il metodo usa come fallback le impostazioni regionali di rendering dell'istanza. * **Valori predefiniti.** Per impostazione predefinita, `numeric` è `'auto'` e `style` è `'long'`. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------- | -------------------------------------------- | -------- | ----------- | ----------- | | [`date`](#date) | La data da formattare rispetto a `baseDate`. | `Date` | No | — | | [`options`](#options) | Configurazione di formattazione. | `object` | Sì | — | ### `date` [#date] **Tipo** `Date` · **Obbligatorio** La data da formattare rispetto a `baseDate`. ### `options` [#options] **Type** `{ locales?: string | string[]; baseDate?: Date } & Omit` · **Facoltativo** Configurazione della formattazione: | Nome | Descrizione | Type | Facoltativo | Predefinito | | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | ----------- | --------------------------------------- | | `locales` | Le impostazioni regionali da usare per la formattazione. Se non specificate, vengono usate le impostazioni regionali di rendering dell'istanza. | `string \| string[]` | Sì | impostazioni regionali dell'istanza | | `baseDate` | La data di riferimento per il confronto. | `Date` | Sì | `new Date()` | | `numeric` | Se usare sempre un formato 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'` | ## Restituisce [#returns] **Tipo** `string` La stringa formattata che rappresenta il tempo relativo, ad esempio "2 ore fa" o "tra 3 giorni". ## Esempi [#examples] ```typescript import { GT } from 'generaltranslation'; const gt = new GT(); const now = new Date(); // Seleziona automaticamente "hours" const twoHoursAgo = new Date(now.getTime() - 7200000); gt.formatRelativeTimeFromDate(twoHoursAgo, { locales: 'en-US', baseDate: now }); // Restituisce: "2 hours ago" // Seleziona automaticamente "days" const threeDaysLater = new Date(now.getTime() + 259200000); gt.formatRelativeTimeFromDate(threeDaysLater, { locales: 'fr-FR', baseDate: now }); // Restituisce: "dans 3 jours" ``` ## Note [#notes] * Seleziona automaticamente l'unità più adatta in base alla differenza di tempo. * Per impostazione predefinita, usa `numeric: 'auto'` e `style: 'long'`. * Se `baseDate` non viene fornito, il valore predefinito è `new Date()`. * Per formattare esplicitamente valore + unità, usa [`formatRelativeTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time).