# generaltranslation: General Translation Core SDK: formatRelativeTime URL: https://generaltranslation.com/es/docs/core/functions/formatting/format-relative-time.mdx --- title: formatRelativeTime description: Función autónoma para dar formato a valores de tiempo relativo según las convenciones de la configuración regional --- ## Descripción general La función autónoma `formatRelativeTime` formatea un valor de tiempo relativo con una unidad explícita, según las convenciones propias de la configuración regional, sin necesidad de una instancia de GT. ```typescript import { formatRelativeTime } from 'generaltranslation'; const formatted = formatRelativeTime(-1, 'day', { locales: 'en-US', numeric: 'auto' }); // Devuelve: "yesterday" ``` ## Referencia ### Parámetros | Nombre | Tipo | Descripción | | --------- | ----------------------------- | ---------------------------------------------------------------------------------------------- | | `value` | `number` | El valor relativo de tiempo (negativo para el pasado y positivo para el futuro) | | `unit` | `Intl.RelativeTimeFormatUnit` | La unidad de tiempo (`'second'`, `'minute'`, `'hour'`, `'day'`, `'week'`, `'month'`, `'year'`) | | `options` | `object` | Configuración de formato | ### Opciones | Nombre | Tipo | Descripción | | ---------------- | ------------------------------- | --------------------------------------------------------------------------------------- | | `locales` | `string \| string[]` | **Obligatorio.** Configuraciones regionales usadas para el formato | | `numeric?` | `'always' \| 'auto'` | Indica si siempre se debe usar una salida numérica. El valor predeterminado es `'auto'` | | `style?` | `'long' \| 'short' \| 'narrow'` | La longitud de la salida. El valor predeterminado es `'long'` | | `localeMatcher?` | `'best fit' \| 'lookup'` | El algoritmo de coincidencia de configuración regional que se usará | ### Devuelve `string` - La cadena de tiempo relativo formateada. *** ## Ejemplo ### Uso básico ```typescript copy import { formatRelativeTime } from 'generaltranslation'; // Tiempo pasado console.log(formatRelativeTime(-2, 'hour', { locales: 'en-US' })); // Salida: "2 hours ago" // Tiempo futuro console.log(formatRelativeTime(3, 'day', { locales: 'en-US' })); // Salida: "in 3 days" // Con numeric: 'auto' (predeterminado) console.log(formatRelativeTime(-1, 'day', { locales: 'en-US' })); // Salida: "yesterday" ``` ### Estilos de formato ```typescript copy import { formatRelativeTime } from 'generaltranslation'; // Estilo largo (predeterminado) console.log(formatRelativeTime(-2, 'day', { locales: 'en-US', style: 'long' })); // Salida: "2 days ago" // Estilo corto console.log(formatRelativeTime(-2, 'day', { locales: 'en-US', style: 'short' })); // Salida: "2 days ago" (puede abreviarse en algunas configuraciones regionales) // Estilo estrecho console.log(formatRelativeTime(-2, 'day', { locales: 'en-US', style: 'narrow' })); // Salida: "2d ago" ``` ### Varias configuraciones regionales ```typescript copy import { formatRelativeTime } from 'generaltranslation'; const locales = ['en-US', 'fr-FR', 'ja-JP', 'de-DE']; locales.forEach(locale => { console.log(`${locale}: ${formatRelativeTime(-3, 'hour', { locales: locale })}`); }); // Salida: // en-US: 3 hours ago // fr-FR: il y a 3 heures // ja-JP: 3 時間前 // de-DE: vor 3 Stunden ``` *** ## Notas * Usa por defecto `numeric: 'auto'` y `style: 'long'` * Con `numeric: 'auto'`, valores como `-1 day` producen "ayer" en lugar de "hace 1 día" * Usa [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat) internamente * Los resultados se almacenan en caché para mejorar el rendimiento cuando se repiten las mismas combinaciones de configuración regional y opciones ## Próximos pasos * Consulta [`formatRelativeTimeFromDate`](/docs/core/functions/formatting/format-relative-time-from-date) para seleccionar automáticamente la unidad a partir de un objeto Date * Consulta [`formatDateTime`](/docs/core/functions/formatting/format-date-time) para dar formato autónomo a fechas y horas * Consulta el método de la clase GT [`formatRelativeTime`](/docs/core/class/methods/formatting/format-relative-time) para usarlo con instancias