Intl.RelativeTimeFormat

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

Constructor

Intl.RelativeTimeFormat.RelativeTimeFormat()
Crea una nueva instancia de Intl.RelativeTimeFormat.

Métodos estáticos

Intl.RelativeTimeFormat.supportedLocalesOf()
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()
Formatea value y unit conforme al idioma y las opciones de formateo al crear la instancia con Intl.RelativeTimeFormat.
Intl.RelativeTimeFormat.prototype.formatToParts()
Devuelve un Array de objetos representando el tiempo relativo en partes que pueden ser usadas en traducciones.
Intl.RelativeTimeFormat.prototype.resolvedOptions()
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

Compatibilidad en navegadores

BCD tables only load in the browser

Ver también