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 |
浏览器兼容性
加载中…