Intl.RelativeTimeFormat

Intl.RelativeTimeFormat 对象启用语言敏感的相对时间格式。

¥The Intl.RelativeTimeFormat object enables language-sensitive relative time formatting.

Try it

构造函数

¥Constructor

Intl.RelativeTimeFormat()

创建一个新的 Intl.RelativeTimeFormat 对象。

静态方法

¥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 对象的区域设置和格式选项来格式化 valueunit

Intl.RelativeTimeFormat.prototype.formatToParts()

返回 Array 个对象,表示可用于自定义区域设置感知格式的部分中的相对时间格式。

Intl.RelativeTimeFormat.prototype.resolvedOptions()

返回一个新对象,其属性反映了在对象初始化期间计算的区域设置和格式选项。

示例

¥Examples

基本格式使用

¥Basic format usage

以下示例演示如何使用英语的相对时间格式化程序。

¥The following example shows how to use a relative time formatter for the English language.

js
// 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.

js
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

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看