This feature is not Baseline because it does not work in some of the most widely-used browsers.
The until() method of Temporal.PlainDate instances returns a new Temporal.Duration object representing the duration from this date to another date (in a form convertible by Temporal.PlainDate.from()). The duration is positive if the other date is after this date, and negative if before.
This method does other - this. To do this - other, use the since() method.
until(other) until(other, options)
otherA string, an object, or a Temporal.PlainDate instance representing a date to subtract this date from. It is converted to a Temporal.PlainDate object using the same algorithm as Temporal.PlainDate.from(). It must have the same calendar as this.
options OptionalThe same options as since().
A new Temporal.Duration object representing the duration from this date until other. The duration is positive if other is after this date, and negative if before.
RangeErrorThrown in one of the following cases:
other has a different calendar than this.const launch = Temporal.PlainDate.from("2035-01-01");
const now = Temporal.Now.plainDateISO();
const duration = now.until(launch);
console.log(`It will be ${duration.toLocaleString("en-US")} until the launch`);
For more examples, see since().
| Specification |
|---|
| Temporal> # sec-temporal.plaindate.prototype.until> |
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
until |
144 | 144 | 139 | No | No | 144 | 139 | No | No | No | 144 | No | ? | 1.40 | No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/until