# General Translation Platform: formatRelativeTime
URL: https://generaltranslation.com/es/docs/platform/core/reference/utility-functions/formatting/format-relative-time.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Formatea valores de tiempo relativo sin una instancia de GT. Referencia de la API de formatRelativeTime.

[`formatRelativeTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time) es una función utilitaria independiente de la biblioteca Core de General Translation que formatea un valor de tiempo relativo con una unidad explícita, según las convenciones de la configuración regional. Devuelve cadenas como &quot;hace 2 horas&quot; o &quot;en 3 días&quot;.

## Resumen [#overview]

Importa `formatRelativeTime` directamente desde `generaltranslation` y llámalo con un valor, una unidad y un objeto de opciones. No requiere una clave de API ni una instancia de [GT](/docs/platform/core/reference/gt-class/constructor). Si quieres un formato basado en instancias que herede la configuración regional de la instancia, usa en su lugar el método [`formatRelativeTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time) de una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor). Para seleccionar automáticamente la unidad a partir de un `Date`, usa [`formatRelativeTimeFromDate`](/docs/platform/core/reference/utility-functions/formatting/format-relative-time-from-date).

```typescript
import { formatRelativeTime } from 'generaltranslation';

const formatted = formatRelativeTime(-1, 'day', {
  locales: 'en-US',
  numeric: 'auto',
});
// Devuelve: "yesterday"
```

Firma:

```typescript
formatRelativeTime(
  value: number,
  unit: Intl.RelativeTimeFormatUnit,
  options?: { locales?: string | string[] } & Omit<Intl.RelativeTimeFormatOptions, 'locales'>
): string
```

## Cómo funciona [#how-it-works]

* **API subyacente.** Usa [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat) internamente.
* **Convención de signos.** Los valores negativos indican el pasado; los positivos, el futuro.
* **Modo numérico.** De forma predeterminada usa `numeric: 'auto'`, por lo que valores como `-1 day` devuelven &quot;ayer&quot; en lugar de &quot;hace 1 día&quot;. Establece `numeric: 'always'` para forzar una salida numérica.
* **Resolución de configuración regional.** Cuando se omite `locales`, se usa la configuración regional predeterminada de la biblioteca, `en`.
* **Almacenamiento en caché.** Los resultados se almacenan en caché internamente para mejorar el rendimiento al repetir combinaciones de configuración regional y opciones.

## Parámetros [#parameters]

| Parámetro             | Descripción                                                                                               | Tipo                                                                                 | Opcional | Predeterminado |
| --------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -------- | -------------- |
| [`value`](#value)     | El valor de tiempo relativo (negativo para pasado, positivo para futuro).                                 | `number`                                                                             | No       | —              |
| [`unit`](#unit)       | La unidad de tiempo.                                                                                      | `Intl.RelativeTimeFormatUnit`                                                        | No       | —              |
| [`options`](#options) | Configuración de formato, incluida la configuración regional o las configuraciones regionales de destino. | `{ locales?: string \| string[] } & Omit<Intl.RelativeTimeFormatOptions, 'locales'>` | Sí       | `{}`           |

### `value` [#value]

**Tipo** `number` · **Obligatorio**

El valor relativo de tiempo. Los números negativos representan el pasado y los positivos, el futuro.

### `unit` [#unit]

**Tipo** `Intl.RelativeTimeFormatUnit` · **Obligatorio**

La unidad de tiempo. Se aceptan formas singulares y plurales: `'second'`/`'seconds'`, `'minute'`/`'minutes'`, `'hour'`/`'hours'`, `'day'`/`'days'`, `'week'`/`'weeks'`, `'month'`/`'months'`, `'quarter'`/`'quarters'` y `'year'`/`'years'`.

### `options` [#options]

**Type** `{ locales?: string | string[] } & Omit<Intl.RelativeTimeFormatOptions, 'locales'>` · **Opcional** · **Predeterminado** `{}`

Configuración de formato. La tabla enumera las opciones comunes expuestas por los tipos Core publicados y sus valores predeterminados efectivos de Core. (Consulta las [opciones del constructor `Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#options) para obtener detalles estándar complementarios y específicos del Runtime).

| Property        | Description                                                              | Type                            | Optional | Default      |
| --------------- | ------------------------------------------------------------------------ | ------------------------------- | -------- | ------------ |
| `locales`       | Configuración regional o configuraciones regionales para el formato.     | `string \| string[]`            | Sí       | `en`         |
| `numeric`       | Si siempre se debe usar una representación 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'` |

Core cambia el valor predeterminado de `numeric` de la implementación subyacente de `'always'` a `'auto'`; los demás valores predeterminados estándar proceden de `Intl.RelativeTimeFormat`.

## Devuelve [#returns]

**Tipo** `string`

La cadena de tiempo relativo formateada.

## Ejemplos [#examples]

```typescript
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"
```

```typescript
// Estilos de formato

// 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 algunos locales)

// Estilo estrecho
console.log(formatRelativeTime(-2, 'day', {
  locales: 'en-US',
  style: 'narrow',
}));
// Salida: "2d ago"
```

```typescript
// Múltiples configuraciones regionales
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 [#notes]

* El valor predeterminado es `numeric: 'auto'` y `style: 'long'`.
* Con `numeric: 'auto'`, valores como `-1 day` generan &quot;ayer&quot; en lugar de &quot;hace 1 día&quot;.
* 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.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
