Temporal.PlainYearMonth.prototype.until()

可用性有限

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

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

until() 方法用于 Temporal.PlainYearMonth 实例,返回一个新的 Temporal.Duration 对象,该对象表示从当前年月到另一个年月的时长(可由 Temporal.PlainYearMonth.from() 转换)。如果另一个年月在当前年月之后,则时长为正;如果在此之前,则时长为负。

此方法执行 other - this。要执行 this - other,请使用 since() 方法。

语法

js
until(other)
until(other, options)

参数

其他

一个字符串、对象或 Temporal.PlainYearMonth 实例,表示要从中减去当前年月的年月。它使用与 Temporal.PlainYearMonth.from() 相同的算法转换为 Temporal.PlainYearMonth 对象。它必须与 this 具有相同的日历。

options 可选

since() 相同的选项。

返回值

一个新的 Temporal.Duration 对象,表示从当前年月 *直到* other 的时长。如果 other 在当前年月之后,则时长为正;如果在此之前,则时长为负。

异常

RangeError

在以下情况之一中抛出

  • other 的日历与 this 不同。
  • 任何选项无效。

示例

使用 until()

js
const launch = Temporal.PlainYearMonth.from("2035-01");
const now = Temporal.Now.plainDateISO().toPlainYearMonth();
const duration = now.until(launch);
console.log(`It will be ${duration.toLocaleString("en-US")} until the launch`);

更多示例,请参阅 since()

规范

规范
Temporal
# sec-temporal.plainyearmonth.prototype.until

浏览器兼容性

另见