-
Notifications
You must be signed in to change notification settings - Fork 154
/
spec.html
50 lines (47 loc) · 2.76 KB
/
spec.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!DOCTYPE html>
<meta charset="utf8">
<pre class="metadata">
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
</pre>
<emu-intro id="sec-temporal-intro">
<h1>Introduction</h1>
<p>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.</p>
<p>The Temporal set of types addresses these challenges with a built-in date and time API for ECMAScript that includes:</p>
<ul>
<li>First-class support for all time zones, including DST-<emu-not-ref>safe</emu-not-ref> arithmetic</li>
<li>Strongly-typed objects for dates, times, date/<emu-not-ref>time values</emu-not-ref>, year/month values, month/day values, "zoned" date/<emu-not-ref>time values</emu-not-ref>, and durations</li>
<li>Immutability for all Temporal objects</li>
<li>String serialization and interoperability via standardized formats</li>
<li>Compliance with industry standards like ISO 8601, RFC 3339, and RFC5545 (iCalendar)</li>
<li>Full support for non-Gregorian calendars</li>
</ul>
<emu-figure id="temporal-object-model" caption="Temporal Object Relationships">
<object data="docs/object-model.svg" style="width:auto;" type="image/svg+xml"></object>
</emu-figure>
<emu-figure id="temporal-persistence-model" caption="Temporal String Persistence">
<object data="docs/persistence-model.svg" type="image/svg+xml"></object>
</emu-figure>
<p>This specification consists of three parts:</p>
<ul>
<li>The specification of the Temporal object and everything related to it, proposed to be added to ECMA-262 in new sections;</li>
<li>A list of amendments to be made to ECMA-262, other than the new sections above;</li>
<li>A list of amendments to be made to ECMA-402.</li>
</ul>
</emu-intro>
<emu-import href="spec/temporal.html"></emu-import>
<emu-import href="spec/plaindate.html"></emu-import>
<emu-import href="spec/plaintime.html"></emu-import>
<emu-import href="spec/plaindatetime.html"></emu-import>
<emu-import href="spec/zoneddatetime.html"></emu-import>
<emu-import href="spec/duration.html"></emu-import>
<emu-import href="spec/instant.html"></emu-import>
<emu-import href="spec/plainyearmonth.html"></emu-import>
<emu-import href="spec/plainmonthday.html"></emu-import>
<emu-import href="spec/timezone.html"></emu-import>
<emu-import href="spec/calendar.html"></emu-import>
<emu-import href="spec/abstractops.html"></emu-import>
<emu-import href="spec/mainadditions.html"></emu-import>
<emu-import href="spec/intl.html"></emu-import>