# General Translation Platform: formatRelativeTimeFromDate URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date.mdx --- title: formatRelativeTimeFromDate description: Formatea el tiempo relativo a partir de una fecha comparada con la hora actual o con otra fecha. Referencia de la API de formatRelativeTimeFromDate. --- Formatea una cadena de tiempo relativo a partir de un `Date` en una instancia de [GT](/docs/platform/core/reference/gt-class/constructor), seleccionando automáticamente la unidad más adecuada. General Translation compara la fecha con una fecha base (la hora actual de forma predeterminada) y genera frases como "hace 2 horas" o "en 3 días". ## Resumen [#overview] Llama a `formatRelativeTimeFromDate` en una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor) con la `Date` de destino y, opcionalmente, un objeto de opciones. Devuelve la cadena formateada y elige la unidad que mejor se adapta a la diferencia de tiempo. ```typescript const gt = new GT(); const pastDate = new Date(Date.now() - 7200000); // hace 2 horas const formatted = gt.formatRelativeTimeFromDate(pastDate, { locales: 'en-US', }); // "hace 2 horas" ``` Firma: ```typescript formatRelativeTimeFromDate( date: Date, options?: { locales?: string | string[]; baseDate?: Date; } & Omit ): string ``` *Nota: `formatRelativeTimeFromDate` se ejecuta localmente con `Intl.RelativeTimeFormat` y no requiere una clave de API. Si se omite `locales`, usa como valor predeterminado las configuraciones regionales de renderizado de la instancia. Para formatear sin una instancia de `GT`, consulta la versión standalone de [`formatRelativeTimeFromDate`](/docs/platform/core/reference/utility-functions/formatting/format-relative-time-from-date).* ## Cómo funciona [#how-it-works] * **Selección automática de la unidad.** El método calcula la diferencia entre `date` y `baseDate` y elige la unidad más adecuada (segundos, minutos, horas, días, etc.). * **Fecha base.** La comparación se realiza con `baseDate`, cuyo valor predeterminado es `new Date()` (la hora actual). * **Resolución de la configuración regional.** Si se omite `locales`, el método recurre a las configuraciones regionales de renderizado de la instancia. * **Valores predeterminados.** `numeric` usa `'auto'` de forma predeterminada y `style` usa `'long'` de forma predeterminada. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------- | ------------------------------------------------------ | -------- | -------- | -------------- | | [`date`](#date) | La fecha que se formateará en relación con `baseDate`. | `Date` | No | — | | [`options`](#options) | Configuración de formato. | `object` | Sí | — | ### `date` [#date] **Tipo** `Date` · **Obligatorio** La fecha que se debe formatear con respecto a `baseDate`. ### `options` [#options] **Tipo** `{ locales?: string | string[]; baseDate?: Date } & Omit` · **Opcional** Configuración de formato: | Nombre | Descripción | Tipo | Opcional | Predeterminado | | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | -------- | ------------------------------------------ | | `locales` | Configuraciones regionales que se usarán para el formato. Si no se especifica, se usan las configuraciones regionales de renderizado de la instancia. | `string \| string[]` | Sí | configuraciones regionales de la instancia | | `baseDate` | La fecha base para la comparación. | `Date` | Sí | `new Date()` | | `numeric` | Si se debe usar siempre una salida numérica. | `'always' \| 'auto'` | Sí | `'auto'` | | `style` | La longitud de la salida. | `'long' \| 'short' \| 'narrow'` | Sí | `'long'` | | `localeMatcher` | El algoritmo de coincidencia de configuración regional que se debe usar. | `'best fit' \| 'lookup'` | Sí | `'best fit'` | ## Returns [#returns] **Tipo** `string` La cadena con formato de tiempo relativo, como "hace 2 horas" o "en 3 días". ## Ejemplos [#examples] ```typescript import { GT } from 'generaltranslation'; const gt = new GT(); const now = new Date(); // Selecciona automáticamente "hours" const twoHoursAgo = new Date(now.getTime() - 7200000); gt.formatRelativeTimeFromDate(twoHoursAgo, { locales: 'en-US', baseDate: now }); // Devuelve: "2 hours ago" // Selecciona automáticamente "days" const threeDaysLater = new Date(now.getTime() + 259200000); gt.formatRelativeTimeFromDate(threeDaysLater, { locales: 'fr-FR', baseDate: now }); // Devuelve: "dans 3 jours" ``` ## Notas [#notes] * Selecciona automáticamente la unidad más adecuada según la diferencia de tiempo. * Usa `numeric: 'auto'` y `style: 'long'` de forma predeterminada. * Si no se proporciona `baseDate`, el valor predeterminado es `new Date()`. * Para formatear explícitamente un valor y una unidad, usa [`formatRelativeTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time).