Stage 3: Temporal
Zaid Rehman
Posted on October 17, 2021
Provides new standard objects and functions for working with dates and times, solving all previous issues with Date
.
Date
has been a long-standing pain point in ECMAScript. Temporal
, is 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 look at some of the problems with Date
, and the motivations for Temporal, see: Fixing JavaScript Date.
Temporal fixes these problems by:
- Providing easy-to-use APIs for date and time computations
- First-class support for all time zones, including DST-safe arithmetic
- Dealing only with objects representing fixed dates and times
- Parsing a strictly specified string format
- Supporting non-Gregorian calendars
Code examples
Temporal.Now
Temporal.Now.instant()
- get the exact time since Unix epoch
Temporal.Now.timeZone()
- get the current system time zone
Temporal.Instant
const instant = Temporal.Instant.from('1969-07-20T20:17Z');
instant.toString(); // => '1969-07-20T20:17:00Z'
instant.epochMilliseconds; // => -14182980000
Temporal.PlainDate
const date = Temporal.PlainDate.from({ year: 2006, month: 8, day: 24 }); // => 2006-08-24
date.year; // => 2006
date.inLeapYear; // => false
date.toString(); // => '2006-08-24'
Cookbook
https://tc39.es/proposal-temporal/docs/cookbook.html
Polyfills
https://www.npmjs.com/package/@js-temporal/polyfill
Posted on October 17, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.