Temporal.PlainDateTime.prototype.add()

可用性有限

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

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

Temporal.PlainDateTime 实例的 add() 方法返回一个新的 Temporal.PlainDateTime 对象,表示此日期时间向前移动了给定的持续时间(以可被 Temporal.Duration.from() 转换的形式)。

语法

js
add(duration)
add(duration, options)

参数

duration

一个字符串、一个对象或一个 Temporal.Duration 实例,表示要添加到此日期时间的持续时间。它使用与 Temporal.Duration.from() 相同的算法转换为 Temporal.Duration 对象。

options 可选

包含以下属性的对象

overflow 可选

一个字符串,指定日期组件超出范围时的行为。可能的值是

"constrain"(默认)

日期组件被限制在有效范围内。

"reject"

如果日期组件超出范围,则抛出 RangeError

返回值

一个新的 Temporal.PlainDateTime 对象,表示由原始 PlainDateTime 指定的日期时间加上持续时间。

异常

RangeError

如果结果不在 可表示范围 内,即距 Unix 纪元 ±(108 + 1) 天(约 ±273,972.6 年),则抛出此错误。

描述

关于如何添加日历持续时间,请参阅 Temporal.PlainDate.prototype.add()

添加持续时间等同于减去负值

示例

添加持续时间

js
const start = Temporal.PlainDateTime.from("2021-01-01T12:34:56");
const end = start.add({
  years: 1,
  months: 2,
  weeks: 3,
  days: 4,
  hours: 5,
  minutes: 6,
  seconds: 7,
  milliseconds: 8,
});
console.log(end.toString()); // 2022-03-26T17:41:03.008

有关更多示例,特别是不同日历和 overflow 选项如何与日历持续时间交互的示例,请参阅 Temporal.PlainDate.prototype.add()

规范

规范
Temporal
# sec-temporal.plaindatetime.prototype.add

浏览器兼容性

另见