--- 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"
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" }]
Especificación | Estado | Comentario |
---|---|---|
{{SpecName('ES Int Draft', '#relativetimeformat-objects', 'RelativeTimeFormat')}} |
{{Compat("javascript.builtins.Intl.RelativeTimeFormat")}}