Provides standard objects and functions for working with dates and times.
This proposal is currently Stage 3 and was reviewed for Stage 3 by Richard Gibson, Bradley Farias, and Daniel Ehrenberg.
NOTE: Although this proposal's API is not expected to change, implementers of this proposal MUST NOT ship unflagged Temporal implementations until IETF standardizes timezone/calendar string serialization formats. See #1450 for updates.
This proposal is now in the hands of ECMAScript engine implementers, so the bar for making API changes is extremely high. Nonetheless, changes may occur as the result of feedback from implementation in JS engines. Editorial changes to the spec and bug fixes to the spec, tests, and docs are also ongoing, as is customary for Stage 3 proposals. Additional tests and documentation content are also being added during Stage 3.
Date has been a long-standing pain point in ECMAScript.
Temporal, a global
Object that acts as a top-level namespace (like
Math), that brings a modern date/time API to the ECMAScript language.
For a detailed breakdown of motivations, see:
The specification text can be found here.
Reference documentation and examples can be found below.
A cookbook to help you get started and learn the ins and outs of Temporal is available here
|@js-temporal/polyfill||js-temporal/temporal-polyfill||Alpha release available|
|temporal-polyfill||fullcalendar/temporal||Alpha release available|
If you're working on a polyfill, please file an issue or PR so we can add yours here.
A non-production polyfill was built to validate this proposal. This polyfill continues to live in this repo, but only for the purposes of running tests and powering the documentation "playground" as described below.
DO NOT use this polyfill in your own projects! Instead, please use a polyfill from the table above.
When viewing the reference documentation, the non-production polyfill is automatically loaded in your browser, so you can try out Temporal by opening your browser's developer tools console.