The Intl.RelativeTimeFormat
object enables language-sensitive relative time formatting.
Intl.RelativeTimeFormat.RelativeTimeFormat()
Intl.RelativeTimeFormat
object.Intl.RelativeTimeFormat.supportedLocalesOf()
Intl.RelativeTimeFormat.prototype.format()
value
and a unit
according to the locale and formatting options of the given Intl.RelativeTimeFormat
object.Intl.RelativeTimeFormat.prototype.formatToParts()
Array
of objects representing the relative time format in parts that can be used for custom locale-aware formatting.Intl.RelativeTimeFormat.prototype.resolvedOptions()
format
usageThe following example shows how to use a relative time formatter for the English language.
// Create a relative time formatter in your locale // with default values explicitly passed in. const rtf = new Intl.RelativeTimeFormat("en", { localeMatcher: "best fit", // other values: "lookup" numeric: "always", // other values: "auto" style: "long", // other values: "short" or "narrow" }); // Format relative time using negative value (-1). rtf.format(-1, "day"); // > "1 day ago" // Format relative time using positive value (1). rtf.format(1, "day"); // > "in 1 day"
The following example shows how to create a relative time formatter returning formatted parts
const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" }); // Format relative time using the day unit. rtf.formatToParts(-1, "day"); // > [{ type: "literal", value: "yesterday"}] rtf.formatToParts(100, "day"); // > [{ type: "literal", value: "in " }, // > { type: "integer", value: "100", unit: "day" }, // > { type: "literal", value: " days" }]
Specification | Status | Comment |
---|---|---|
ECMAScript Internationalization API (ECMA-402) The definition of 'RelativeTimeFormat' in that specification. | Stage 4 |
Desktop | ||||||
---|---|---|---|---|---|---|
RelativeTimeFormat |
71 | 79 | 65 | No | 58 | 14 |
RelativeTimeFormat() constructor |
71 | 79 | 65 | No | 58 | 14 |
format |
71 | 79 | 65 | No | 58 | 14 |
formatToParts |
71 | 79 | 70 | No | 58 | 14 |
resolvedOptions |
71 | 79 | 65 | No | 58 | 14 |
supportedLocalesOf |
71 | 79 | 65 | No | 58 | 14 |
Mobile | ||||||
---|---|---|---|---|---|---|
RelativeTimeFormat |
71 | 71 | 65 | 50 | 14 | 10.0 |
RelativeTimeFormat() constructor |
71 | 71 | 65 | 50 | 14 | 10.0 |
format |
71 | 71 | 65 | 50 | 14 | 10.0 |
formatToParts |
71 | 71 | No | 50 | 14 | 10.0 |
resolvedOptions |
71 | 71 | 65 | 50 | 14 | 10.0 |
supportedLocalesOf |
71 | 71 | 65 | 50 | 14 | 10.0 |
Server | |
---|---|
RelativeTimeFormat |
12.0.0
|
RelativeTimeFormat() constructor |
13.0.0
|
format |
12.0.0
|
formatToParts |
12.0.0
|
resolvedOptions |
12.0.0
|
supportedLocalesOf |
13.0.0
|
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat