--- title: Intl.RelativeTimeFormat slug: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat tags: - RelatimeTimeFormat translation_of: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat original_slug: Web/JavaScript/Referencia/Objetos_globales/Intl/RelativeTimeFormat ---
El objeto Intl.RelativeTimeFormat te proporciona una manera de formatear tiempos relativos con traducciones.
El código de este ejemplo interactivo está disponible en un repositorio GitHub. Si quieres contribuir a los ejemplos interactivos del proyecto, por favor, clona https://github.com/mdn/interactive-examples y manda una Pull Request.
Intl.RelativeTimeFormat.value y unit conforme al idioma y las opciones de formateo al crear la instancia con Intl.RelativeTimeFormat.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"
formatToPartsEl 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" }]
| Especificación | Estado | Comentario |
|---|---|---|
| {{SpecName('ES Int Draft', '#relativetimeformat-objects', 'RelativeTimeFormat')}} |
{{Compat("javascript.builtins.Intl.RelativeTimeFormat")}}