title: Temporal proposal
stage: 3
contributors: Maggie Pint, Matt Johnson, Brian Terlson, Daniel Ehrenberg, Philipp Dunkel, Sasha Pierson, Ujjwal Sharma, Philip Chimento, Justin Grant
markEffects: true
Introduction
The venerable ECMAScript Date object has a number of challenges, including lack of immutability, lack of support for time zones, lack of support for use cases that require dates only or times only, a confusing and non-ergonomic API, and many other challenges.
The Temporal set of types addresses these challenges with a built-in date and time API for ECMAScript that includes:
First-class support for all time zones, including DST-safe arithmetic
Strongly-typed objects for dates, times, date/time values, year/month values, month/day values, "zoned" date/time values, and durations
Immutability for all Temporal objects
String serialization and interoperability via standardized formats
Compliance with industry standards like RFC 9557, RFC 3339, RFC 5545 (iCalendar), and ISO 8601
Full support for non-Gregorian calendars
This specification consists of three parts:
The specification of the Temporal object and everything related to it, proposed to be added to ECMA-262 in new sections;
A list of amendments to be made to ECMA-262, other than the new sections above;