Loading lesson path
You calculate the difference between two temporal dates using since() or until().
method is the inverse of the until() method.
method is the inverse of the since() method.
method calculates the duration between two temporal dates. Syntax t1.since( t2, options )
At time t1, how much time has passed since time t2 ?
Example: Plain Date const start = Temporal.PlainDate.from("2026-05-01");
const end = Temporal.PlainDate.from("2026-05-17");
const duration = end.since(start);Example: Plain Time const start = Temporal.PlainTime.from("09:00");
const end = Temporal.PlainTime.from("17:30");
const duration = end.since(start);const wedding = Temporal.PlainDate.from('2000-05-17');
const today = Temporal.Now.plainDateISO();
const duration = today.since(wedding);method returns the total number of days, but you can use the largestUnit option to break it down into years and months:
const wedding = Temporal.PlainDate.from('2026-05-17');
const today = Temporal.Now.plainDateISO();
const duration = today.since(wedding, {largestUnit:'years'});method calculates the duration between two temporal dates.
method is effectively the inverse of the since() method. Syntax t1.until( t2, options )
At time t1, how much time is it until t2 ?
Return a Duration representing the time between two dates:
const start = Temporal.PlainDate.from("2026-05-01");
const end = Temporal.PlainDate.from("2026-05-17");
const duration = start.until(end);The methods are opposites.
Meaning a.since(b) time from b → a a.until(b) time from a → b
const start = Temporal.PlainDate.from("2026-05-01");
const end = Temporal.PlainDate.from("2026-05-17");
const duration1 = end.since(start);
const duration2 = start.until(end);
Both return the same duration.Formula
since = past
Until = futuresince yesterday until tomorrow
Formula
The compare() method returns - 1 if the first date is earlier, 1 if it is later, and 0 if they are equal:// Create two Temporal objects const date1 = Temporal.PlainDate.from("2026-05-17");
const date2 = Temporal.PlainDate.from("2024-12-25");
// Compare the dates result = Temporal.PlainDate.compare(date1, date2);
The compare() method is designed to be passed directly into the JavaScript Array.sort() method:// Create an Array of dates const dates = [Formula
Temporal.PlainDate.from("2026 - 05 - 17"),
Temporal.PlainDate.from("2022 - 01 - 01"),
Temporal.PlainDate.from("2024 - 12 - 25")];
// Sort chronologically dates.sort(Temporal.PlainDate.compare);