Temporal.ZonedDateTime.prototype.until()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The until()
method of Temporal.ZonedDateTime
instances returns a new Temporal.Duration
object representing the duration from this date-time to another date-time (in a form convertible by Temporal.ZonedDateTime.from()
). The duration is positive if the other date-time is after this date-time, and negative if before.
This method does other - this
. To do this - other
, use the since()
method.
Syntax
until(other)
until(other, options)
Parameters
other
-
A string, an object, or a
Temporal.ZonedDateTime
instance representing a date-time to subtract this date-time from. It is converted to aTemporal.ZonedDateTime
object using the same algorithm asTemporal.ZonedDateTime.from()
. It must have the same calendar asthis
. options
Optional-
The same options as
since()
.
Return value
A new Temporal.Duration
object representing the duration from this date-time until other
. The duration is positive if other
is after this date-time, and negative if before.
Exceptions
RangeError
-
Thrown in one of the following cases:
other
has a different calendar thanthis
.- Any of the options is invalid.
other
has a different time zone thanthis
, andlargestUnit
is"day"
or above.
Examples
Using until()
const flight = Temporal.ZonedDateTime.from(
"2024-12-21T13:31:00-05:00[America/New_York]",
);
const now = Temporal.Now.zonedDateTimeISO("America/New_York").round("second");
if (Temporal.ZonedDateTime.compare(flight, now) < 0) {
console.error(
"The flight is already in the past. The result may not make sense.",
);
}
const duration = now.until(flight, { largestUnit: "day" });
console.log(`The flight is in ${duration.toLocaleString("en-US")}`);
For more examples, see since()
.
Specifications
Specification |
---|
Temporal proposal # sec-temporal.zoneddatetime.prototype.until |
Browser compatibility
BCD tables only load in the browser