Intl.RelativeTimeFormat
Intl.RelativeTimeFormat
对象启用语言敏感的相对时间格式。
¥The Intl.RelativeTimeFormat
object enables language-sensitive relative time formatting.
Try it
构造函数
静态方法
¥Static methods
Intl.RelativeTimeFormat.supportedLocalesOf()
-
返回一个数组,其中包含所提供的受支持的语言环境,而无需回退到运行时的默认语言环境。
实例属性
¥Instance properties
这些属性在 Intl.RelativeTimeFormat.prototype
上定义并由所有 Intl.RelativeTimeFormat
实例共享。
¥These properties are defined on Intl.RelativeTimeFormat.prototype
and shared by all Intl.RelativeTimeFormat
instances.
Intl.RelativeTimeFormat.prototype.constructor
-
创建实例对象的构造函数。对于
Intl.RelativeTimeFormat
实例,初始值为Intl.RelativeTimeFormat
构造函数。 Intl.RelativeTimeFormat.prototype[Symbol.toStringTag]
-
[Symbol.toStringTag]
属性的初始值为字符串"Intl.RelativeTimeFormat"
。该属性在Object.prototype.toString()
中使用。
实例方法
¥Instance methods
Intl.RelativeTimeFormat.prototype.format()
-
根据给定
Intl.RelativeTimeFormat
对象的区域设置和格式选项来格式化value
和unit
。 Intl.RelativeTimeFormat.prototype.formatToParts()
-
返回
Array
个对象,表示可用于自定义区域设置感知格式的部分中的相对时间格式。 Intl.RelativeTimeFormat.prototype.resolvedOptions()
-
返回一个新对象,其属性反映了在对象初始化期间计算的区域设置和格式选项。
示例
基本格式使用
¥Basic format usage
以下示例演示如何使用英语的相对时间格式化程序。
¥The 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"
使用 formatToParts
¥Using formatToParts
以下示例演示如何创建返回格式化部分的相对时间格式化程序。
¥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 |
---|
ECMAScript Internationalization API Specification # relativetimeformat-objects |
浏览器兼容性
BCD tables only load in the browser
也可以看看
¥See also
- FormatJS 中
Intl.RelativeTimeFormat
的 Polyfill Intl
- v8.dev 上的
Intl.RelativeTimeFormat
(2018)