Intl.RelativeTimeFormat

El objeto Intl.RelativeTimeFormat te proporciona una manera de formatear tiempos relativos con traducciones.

Constructor

Intl.RelativeTimeFormat.RelativeTimeFormat() (en-US)
Crea una nueva instancia de Intl.RelativeTimeFormat.

Métodos estáticos

Intl.RelativeTimeFormat.supportedLocalesOf() (en-US)
Devuelve un Array con todos los idiomas disponibles sin necesidad de usar el que hay por defecto.

Métodos de instancia

Intl.RelativeTimeFormat.prototype.format() (en-US)
Formatea value y unit conforme al idioma y las opciones de formateo al crear la instancia con Intl.RelativeTimeFormat.
Intl.RelativeTimeFormat.prototype.formatToParts() (en-US)
Devuelve un Array de objetos representando el tiempo relativo en partes que pueden ser usadas en traducciones.
Intl.RelativeTimeFormat.prototype.resolvedOptions() (en-US)
Devuelve un nuevo objeto con las propiedades que reflejan las opciones de localización y formato usadas durante la inicialización del objeto.

Ejemplos

Ejemplo b√°sico

El siguiente ejemplo muestra c√≥mo conseguir el tiempo relativo para el mejor idioma seg√ļn el usuario.

// Crea un formateador de tiempo relativo en tu lenguaje
// con los valores por defectos pasados expresamente.
const rtf = new Intl.RelativeTimeFormat("en", {
    localeMatcher: "best fit", // otros valores: "lookup"
    numeric: "always", // otros valores: "auto"
    style: "long", // otros valores: "short" or "narrow"
});

// Formatea el tiempo relativo con valores negativos (-1).
rtf.format(-1, "day");
// > "Hace 1 día"

// Formatea el tiempo relativo con valores positivos (1).
rtf.format(1, "day");
// > "Dentro de 1 día"

Usando formatToParts

El siguiente ejemplo muestra cómo crear un formateador de tiempo relativo que devuelve las partes separadas:

const rtf = new Intl.RelativeTimeFormat("es", { numeric: "auto" });

// Formatea el tiempo relativo usando día como unidad.
rtf.formatToParts(-1, "day");
// > [{ type: "literal", value: "ayer"}]

rtf.formatToParts(100, "day");
// > [{ type: "literal", value: "Dentro de " },
// >  { type: "integer", value: "100", unit: "day" },
// >  { type: "literal", value: " días" }]

Especificaciones

Especificación Estado Comentario
ECMAScript Internationalization API (ECMA-402)
La definición de 'RelativeTimeFormat' en esta especificación.

Compatibilidad en navegadores

BCD tables only load in the browser

Ver también