# General Translation Platform: formatRelativeTimeFromDate URL: https://generaltranslation.com/it/docs/platform/core/reference/utility-functions/formatting/format-relative-time-from-date.mdx --- title: formatRelativeTimeFromDate description: Formatta il tempo relativo a partire da una data senza un'istanza GT. Riferimento API per formatRelativeTimeFromDate. --- [`formatRelativeTimeFromDate`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date) è una funzione di utilità autonoma della libreria core di General Translation che formatta una stringa di tempo relativo a partire da un `Date`, selezionando automaticamente l'unità più appropriata (secondi, minuti, ore, giorni, settimane, mesi o anni). ## Panoramica [#overview] Importa `formatRelativeTimeFromDate` direttamente da `generaltranslation` e chiamalo con un `Date` e un oggetto options. Non richiede una chiave API né un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). Per una formattazione basata su un'istanza che eredita l'impostazione regionale dell'istanza, usa invece il metodo [`formatRelativeTimeFromDate`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date) su un'istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor). Per formattare direttamente un valore esplicito e un'unità, usa [`formatRelativeTime`](/docs/platform/core/reference/utility-functions/formatting/format-relative-time). ```typescript import { formatRelativeTimeFromDate } from 'generaltranslation'; const pastDate = new Date(Date.now() - 7200000); // 2 ore fa const formatted = formatRelativeTimeFromDate(pastDate, { locales: 'en-US', baseDate: new Date(), }); // Returns: "2 hours ago" ``` Firma: ```typescript formatRelativeTimeFromDate( date: Date, options?: { locales?: string | string[] } & Omit & { baseDate?: Date } ): string ``` ## Come funziona [#how-it-works] * **Selezione dell'unità.** Seleziona automaticamente l'unità più adatta in base alla differenza tra `date` e `baseDate`. * **API sottostante.** Usa internamente [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat). * **Modalità numerica.** Per impostazione predefinita usa `numeric: 'auto'` e `style: 'long'`. * **Valore predefinito della data di riferimento.** Quando `baseDate` non viene fornita, il valore predefinito è `new Date()`. Tieni presente che questo può causare incongruenze di idratazione nelle app con rendering lato server. * **Risoluzione dell'impostazione regionale.** Quando `locales` viene omesso, viene usata come fallback l'impostazione regionale predefinita della libreria, `en`. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ----------- | ----------- | | [`date`](#date) | La data da formattare rispetto a `baseDate`. | `Date` | No | — | | [`options`](#options) | Configurazione di formattazione, incluse le impostazioni regionali di destinazione e la data di riferimento per il confronto. | `{ locales?: string \| string[] } & Omit & { baseDate?: Date }` | Sì | `{}` | ### `date` [#date] **Tipo** `Date` · **Obbligatorio** La `Date` da formattare rispetto a `baseDate`. ### `options` [#options] **Tipo** `{ locales?: string | string[] } & Omit & { baseDate?: Date }` · **Facoltativo** · **Predefinito** `{}` Configurazione della formattazione: | Proprietà | Descrizione | Tipo | Facoltativo | Predefinito | | --------------- | ----------------------------------------------------------------------------- | ------------------------------- | ----------- | ------------ | | `locales` | Le impostazioni regionali per la formattazione. | `string \| string[]` | Sì | `en` | | `baseDate` | La data di riferimento per il confronto. | `Date` | Sì | `new Date()` | | `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 utilizzare. | `'best fit' \| 'lookup'` | Sì | `'best fit'` | ## Restituisce [#returns] **Tipo** `string` La stringa di tempo relativo formattata (ad esempio, "2 ore fa", "tra 3 giorni"). ## Esempi [#examples] ```typescript import { formatRelativeTimeFromDate } from 'generaltranslation'; const now = new Date(); // 2 ore fa const pastDate = new Date(now.getTime() - 7200000); console.log(formatRelativeTimeFromDate(pastDate, { locales: 'en-US', baseDate: now, })); // Output: "2 hours ago" // 3 giorni nel futuro const futureDate = new Date(now.getTime() + 259200000); console.log(formatRelativeTimeFromDate(futureDate, { locales: 'en-US', baseDate: now, })); // Output: "in 3 days" ``` ```typescript // Più impostazioni regionali const pastDate = new Date(Date.now() - 86400000); // ~1 giorno fa 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, })}`); }); // Output: // en-US: yesterday // fr-FR: hier // ja-JP: 昨日 // de-DE: gestern ``` ## Note [#notes] * Seleziona automaticamente l'unità più appropriata in base alla differenza tra `date` e `baseDate`. * Per impostazione predefinita, usa `numeric: 'auto'` e `style: 'long'`. * Se `baseDate` non viene fornito, usa per impostazione predefinita `new Date()` — tieni presente che questo può causare problemi di idratazione nelle app renderizzate sul server. * Usa internamente [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat).