Temporal.Duration.prototype.subtract()

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

subtract() 方法是 Temporal.Duration 实例的方法,它返回一个新的 Temporal.Duration 对象,表示当前 duration 与给定 duration 之间的差值。它等同于加上另一个 duration 的负值

语法

js
subtract(other)

参数

其他

一个字符串、一个对象或一个 Temporal.Duration 实例,表示要添加到当前 duration 的 duration。它会使用与 Temporal.Duration.from() 相同的算法转换为 Temporal.Duration 对象。

返回值

一个表示当前 duration 与 other 之间差值的新 Temporal.Duration 对象。

异常

RangeError

在以下情况之一中抛出

  • thisother 是一个日历 duration(即 yearsmonthsweeks 的值非零),因为在没有日历和时间参照的情况下,日历 duration 是模糊的。
  • thisother 的差值溢出了可表示 duration 的最大值或最小值,即 ±253 秒。

示例

使用 subtract()

js
const d1 = Temporal.Duration.from({ hours: 1, minutes: 30 });
const d2 = Temporal.Duration.from({ hours: -1, minutes: -20 });

const d3 = d1.subtract(d2);
console.log(d3.toString()); // "PT2H50M"

有关更多示例和注意事项,请参阅 add() 方法。

规范

规范
Temporal
# sec-temporal.duration.prototype.subtract

浏览器兼容性

另见