# generaltranslation: General Translation Core SDK: formatRelativeTimeFromDate URL: https://generaltranslation.com/it/docs/core/functions/formatting/format-relative-time-from-date.mdx --- title: formatRelativeTimeFromDate description: Funzione autonoma per formattare il tempo relativo a partire da un oggetto Date, selezionando automaticamente l'unità più adatta --- ## Panoramica La funzione autonoma `formatRelativeTimeFromDate` 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). ```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() }); // Restituisce: "2 hours ago" ``` ## Riferimento ### Parametri | Nome | Tipo | Descrizione | | --------- | -------- | ------------------------------------------- | | `date` | `Date` | La data da formattare rispetto a `baseDate` | | `options` | `object` | Configurazione del formato | ### Opzioni | Nome | Tipo | Descrizione | | ---------------- | ------------------------------- | ----------------------------------------------------------------------------- | | `locales` | `string \| string[]` | **Obbligatorio.** Impostazioni regionali per la formattazione | | `baseDate?` | `Date` | La data di riferimento per il confronto. Il valore predefinito è `new Date()` | | `numeric?` | `'always' \| 'auto'` | Indica se usare sempre un output numerico. Il valore predefinito è `'auto'` | | `style?` | `'long' \| 'short' \| 'narrow'` | La lunghezza dell'output. Il valore predefinito è `'long'` | | `localeMatcher?` | `'best fit' \| 'lookup'` | L'algoritmo di corrispondenza delle impostazioni regionali da utilizzare | ### Restituisce `string` - La stringa formattata del tempo relativo (ad esempio, "2 ore fa", "tra 3 giorni"). *** ## Esempio ### Uso di base ```typescript copy 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" ``` ### Impostazioni regionali multiple ```typescript copy import { formatRelativeTimeFromDate } from 'generaltranslation'; 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 * 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, il valore predefinito è `new Date()` — tieni presente che questo può causare errori di idratazione nelle app con rendering sul server * Usa [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat) dietro le quinte ## Passaggi successivi * Vedi [`formatRelativeTime`](/docs/core/functions/formatting/format-relative-time) per la formattazione esplicita di un valore + unità * Vedi [`formatDateTime`](/docs/core/functions/formatting/format-date-time) per la formattazione autonoma di data e ora * Vedi il metodo [`formatRelativeTimeFromDate`](/docs/core/class/methods/formatting/format-relative-time-from-date) della classe GT per l'utilizzo tramite istanza