Intl.RelativeTimeFormat.prototype.formatToParts()

基线 广泛可用

此功能已得到很好的确立,并且可以在许多设备和浏览器版本上运行。它自以下时间起在所有浏览器中都可用 2020 年 9 月.

formatToParts() 方法是 Intl.RelativeTimeFormat 实例的方法,它返回一个 Array,其中包含表示相对时间格式的各个部分的对象,这些对象可用于自定义区域感知格式化。

试一试

语法

js
formatToParts(value, unit)

参数

value

在国际化的相对时间消息中使用的数字值。

unit

在相对时间国际化消息中使用的单位。可能的值为:"year""quarter""month""week""day""hour""minute""second"。复数形式也允许。

返回值

一个 Array,其中包含对象,这些对象包含格式化后的相对时间的部分。

描述

Intl.RelativeTimeFormat.prototype.formatToParts 方法是 format 方法的一个版本,它返回一个包含对象的数组,这些对象表示对象的“部分”,将格式化的数字分成其组成部分并将其与其他周围文本分开。这些对象具有两个属性:type,一个 NumberFormat formatToParts 类型,以及 value,它是输出组件的字符串。如果“部分”来自 NumberFormat,它将具有一个 unit 属性,指示正在格式化的单位;作为较大框架一部分的文字将不具有此属性。

示例

使用 formatToParts

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" }
// ]

规范

规范
ECMAScript 国际化 API 规范
# sec-Intl.RelativeTimeFormat.prototype.formatToParts

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅