Temporal.Instant.prototype.subtract()

可用性有限

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

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

subtract() 方法是 Temporal.Instant 实例的方法,它返回一个新的 Temporal.Instant 对象,表示当前时间点向后移动指定时长(该时长可由 Temporal.Duration.from() 转换)。

如果你想计算两个时间点之间的时长,请使用 since()until()

语法

js
subtract(duration)

参数

duration

一个字符串、一个对象或一个 Temporal.Duration 实例,表示要从当前时间点减去的一个时长。它使用与 Temporal.Duration.from() 相同的算法转换为 Temporal.Duration 对象。

返回值

一个新的 Temporal.Instant 对象,表示从当前时间点减去 duration。如果 duration 为正,则返回的时间点比当前时间点早;如果 duration 为负,则返回的时间点比当前时间点晚。

异常

RangeError

在以下情况之一中抛出

  • duration 是一个 日历时长(即 yearsmonthsweeks 具有非零值),或者 days 具有非零值,因为在没有日历和时间参照的情况下,日历时长的含义是不明确的。
  • 结果不在可表示范围内,该范围是距 Unix 纪元 ±108 天,或约 ±273,972.6 年。

描述

减去一个时长等同于 加上相反数,因此所有相同的注意事项均适用。

示例

减去一个 Temporal.Duration

js
const instant = Temporal.Instant.fromEpochMilliseconds(1000);
const duration = Temporal.Duration.from("PT1S"); // One-second duration
const newInstant = instant.subtract(duration);
console.log(newInstant.epochMilliseconds); // 0

更多示例,请参阅 add()

规范

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

浏览器兼容性

另见