Temporal.ZonedDateTime.prototype.subtract()
Temporal.ZonedDateTime
实例的 subtract()
方法返回一个新的 Temporal.ZonedDateTime
对象,表示此日期时间按照给定持续时间(以可由 Temporal.Duration.from()
转换的形式)向后移动。
如果你想减去两个日期时间并获得一个持续时间,请改用 since()
或 until()
。
语法
js
subtract(duration)
subtract(duration, options)
参数
duration
-
一个字符串、一个对象或一个
Temporal.Duration
实例,表示要从此日期时间中减去的持续时间。它使用与Temporal.Duration.from()
相同的算法转换为Temporal.Duration
对象。 options
可选-
包含以下属性的对象
overflow
可选-
一个字符串,指定日期组件超出范围时的行为。可能的值是
"constrain"
(默认)-
日期组件被限制在有效范围内。
"reject"
-
如果日期组件超出范围,则抛出
RangeError
。
返回值
一个新的 Temporal.ZonedDateTime
对象,表示原始 ZonedDateTime
指定的日期时间减去持续时间后的结果。
异常
RangeError
-
如果结果不在 可表示范围 内,即距 Unix 纪元 ±108 天(约 ±273,972.6 年),则抛出此错误。
描述
示例
减去一个持续时间
js
const start = Temporal.ZonedDateTime.from(
"2021-01-01T12:34:56-05:00[America/New_York]",
);
const end = start.subtract({
years: 1,
months: 2,
weeks: 3,
days: 4,
hours: 5,
minutes: 6,
seconds: 7,
milliseconds: 8,
});
console.log(end.toString()); // 2019-10-07T07:28:48.992-04:00[America/New_York]
规范
规范 |
---|
Temporal # sec-temporal.zoneddatetime.prototype.subtract |
浏览器兼容性
加载中…