Temporal.PlainDateTime.prototype.until()
until()
方法是 Temporal.PlainDateTime
实例的一个方法,它返回一个新的 Temporal.Duration
对象,表示从当前日期时间到另一个日期时间(可通过 Temporal.PlainDateTime.from()
转换)的持续时间。如果另一个日期时间在当前日期时间之后,则持续时间为正;如果在此日期时间之前,则为负。
此方法执行 other - this
。要执行 this - other
,请使用 since()
方法。
语法
js
until(other)
until(other, options)
参数
其他
-
一个字符串、一个对象或一个
Temporal.PlainDateTime
实例,表示要从中减去当前日期时间的日期时间。它使用与Temporal.PlainDateTime.from()
相同的算法转换为Temporal.PlainDateTime
对象。它必须与this
具有相同的日历。 options
可选-
与
since()
相同的选项。
返回值
一个新 Temporal.Duration
对象,表示从当前日期时间直到 other
的持续时间。如果 other
在当前日期时间之后,则持续时间为正;如果在此日期时间之前,则为负。
异常
RangeError
-
在以下情况之一中抛出
other
的日历与this
不同。- 任何选项无效。
示例
使用 until()
js
let nextBilling = Temporal.PlainDateTime.from({
year: Temporal.Now.plainDateISO().year,
month: 4,
day: 1,
});
const now = Temporal.Now.plainDateTimeISO().round("second");
if (Temporal.PlainDateTime.compare(nextBilling, now) < 0) {
nextBilling = nextBilling.add({ years: 1 });
}
const duration = now.until(nextBilling);
console.log(`${duration.toLocaleString("en-US")} until next billing`);
有关更多示例,请参阅 since()
。
规范
规范 |
---|
Temporal # sec-temporal.plaindatetime.prototype.until |
浏览器兼容性
加载中…