🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to JavaScript Notes
Topic #193

Temporal Since/Until

JavaScript since() and until()

The since() method calculates the since duration between two dates.

The until() method calculates the until duration between two dates.

The since() and until() are effectivly the inverse of each other.

All temporal date objects have their own since() method:

  • plaindate.since(plaindate)
  • plaintime.since(plaintime)
  • plainyearmonth.since(plainyearmonth)
  • plainmonthday.since(plainmonthday)
  • plaindatetime.since(plaindatetime)
  • zoneddatetime.since(zoneddatetime)
  • instant.since(instant)

All temporal objects have their own until() method:

  • plaindate.until(plaindate)
  • plaintime.until(plaintime)
  • plainyearmonth.until(plainyearmonth)
  • plainmonthday.until(plainmonthday)
  • plaindatetime.until(plaindatetime)
  • zoneddatetime.until(zoneddatetime)
  • instant.until(instant)

JavaScript Temporal since()

The since() method calculates the duration between two temporal dates.

Syntax

t1.since(t2, options)

Example

const start = Temporal.PlainDate.from("2026-05-01");

const end = Temporal.PlainDate.from("2026-05-17");

const duration = start.since(end);

Note: The since() method returns a Temporal.Duration Object representing the elapsed time. The duration is positive if the "other" date is in the past. The duration is negative if the "other" date is in the future.


JavaScript Temporal until()

The until() method calculates the duration between two temporal dates.

The until() method is effectively the inverse of the since() method.

Syntax

t1.until(t2, options)

Example

const start = Temporal.PlainDate.from("2026-05-01");

const end = Temporal.PlainDate.from("2026-05-17");

const duration = start.until(end);

Temporal since() vs until()

The methods are opposites.

Col 1 Col 2
Method Meaning
a.since(b) time from b → a
a.until(b) time from a → b

Example

const start = Temporal.PlainDate.from("2026-05-01");

const end = Temporal.PlainDate.from("2026-05-17");

const duration1 = start.since(end);

const duration2 = start.until(end);

Think:

  • since = past (since yesterday)
  • until = future (until tomorrow)

The Options Parameters

Example

const wedding = Temporal.PlainDate.from("2000-05-17");

const today = Temporal.Now.plainDateISO();

const duration = today.since(wedding);

The since() method returns the total number of days, but you can use the largestUnit option to break it down into years and months:

Example

const wedding = Temporal.PlainDate.from("2000-05-17");

const today = Temporal.Now.plainDateISO();

const duration = today.since(wedding, {largestUnit:'years'});

PlainTime since()

Example: Plain Time

const start = Temporal.PlainTime.from("09:00");

const end = Temporal.PlainTime.from("17:30");

const duration = end.since(start);

ZonedDateTime since()

The since() method calculates the duration between two temporal dates.

Syntax

t1.since(t2, options)

Example: ZonedDateTime

const start = Temporal.ZonedDateTime.from(

"2026-02-17T09:00:00+01:00[Europe/Oslo]");

const end = Temporal.ZonedDateTime.from(

"2026-02-17T17:30:00+01:00[Europe/Oslo]");

const duration = end.since(start);

Want to go beyond the notes?

Join CodingNow 2.0's JavaScript course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

Temporal Since/Until – FAQs

Quick answers about learning Temporal Since/Until in JavaScript.

This free note from CodingNow 2.0 explains Temporal Since/Until in JavaScript — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every JavaScript topic on CodingNow 2.0, including Temporal Since/Until, is 100% free with no signup required.
With focused practice, most students grasp Temporal Since/Until in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now