JavaScript PlainDate until()
Example
const start = Temporal.PlainDate.from("2026-05-16");
const end = Temporal.PlainDate.from("2026-05-17");
const duration = end.until(start, {smallestUnit:"days"});
Try it Yourself »
Description
The until() method returns a Temporal.Duration object representing
the duration wrom this PlainDate until another PlainDate.
The until() method does not change the original PlainDate object.
Syntax
plaindate.until(other, option)
Parameters
| Parameter | Description |
| other | A PlainDate. |
| option | Any valid Temporal.Duration.round() option. |
Return Value
| Type | Description |
| Object | A Temporal.Duration object representing the duration until the other date. |
Note
The until() method compares only objects of the same type.
Other Temporal types must be converted before comparison.
Browser Support
Temporal is a major update to the JavaScript standard (TC39).
It is currently supported in Chrome, Edge, Firefox, and Opera Safari has not shipped it yet.
| Chrome 144 |
Edge 144 |
Firefox 139 |
Safari |
Opera 128 |
| Jan 2026 | Jan 2026 | May 2025 | 🚫 | Feb 2026 |
The Safari implementation can be tested in Safari Technology Preview by enabling the --use-temporal runtime flag.
Polyfill
Until Safari supports Temporal natively, you can use the official polyfill:
<script
src="https://cdn.jsdelivr.net/npm/@js-temporal/polyfill@0.5.1/dist/index.umd.js">
</script>