Temporal is a JavaScript standard library that provides modern objects and functions for working with dates and times.
The proposal addresses long-standing limitations in JavaScript's Date object by introducing Temporal as a top-level namespace similar to Math. It offers immutable date and time objects that support local calendar systems while remaining convertible to and from the Proleptic Gregorian Calendar. All time-of-day values are based on a standard 24-hour clock, and leap seconds are not represented. This design replaces the mutable, error-prone behavior of the existing Date API with a more predictable and developer-friendly approach.
Developers should adopt Temporal for any new code that requires date and time manipulation, as it resolves fundamental design issues that have plagued JavaScript date handling. The tool suits projects ranging from simple scheduling tasks to complex calendar applications that need to handle multiple calendar systems. The proposal includes comprehensive documentation with a cookbook to help developers learn the API, along with reference materials available in English, Japanese, and Chinese.
The proposal has reached Stage 4 and is being merged into the ECMA-262 and ECMA-402 standards, with the repository scheduled for archival upon completion. Implementation has shipped in Firefox and Chrome, and in Node.js, with additional JavaScript engines including Safari, Boa, GraalVM, and Kiesel either in progress or planned for future releases.