Skip to content

Commit c02b446

Browse files
committed
Add new section about handling TZDB updates
1 parent 2a91079 commit c02b446

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

spec/timezone.html

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ <h1>Time Zone Names</h1>
1616
</p>
1717
<p>
1818
Built-in time zones may be <dfn variants="named time zone">named time zones</dfn>, represented by Strings for which IsAvailableTimeZoneName returns *true*.
19+
Caller-supplied names of named time zones can be aliases for <dfn variants="canonical time zone">canonical time zones</dfn>.
20+
CanonicalizeTimeZoneName is used to translate aliases into canonical time zone names.
1921
They may also be <dfn variants="offset time zone">offset time zones</dfn>, represented by Strings for which IsTimeZoneOffsetString returns *true*.
2022
</p>
2123
<p>
@@ -27,6 +29,28 @@ <h1>Time Zone Names</h1>
2729
Other implementations are encouraged to do the same.
2830
</p>
2931

32+
<emu-clause id="sec-time-zone-data-updates">
33+
<h1>Handling Updates and Ensuring Consistency of Time Zone Data</h1>
34+
<p>
35+
The IANA Time Zone Database is frequently updated, averaging 10 annual releases in recent years.
36+
An ECMAScript implementation is strongly encouraged to use the most recent version of the IANA Time Zone Database that was available when the implementation was released.
37+
</p>
38+
<p>
39+
It is also acceptable for implementations to update time zone data dynamically, either directly by loading a new version of the IANA Time Zone Database or indirectly by calling an external, dynamically-updated source like an operating system.
40+
It is allowed for these updates to happen during the lifetime of the surrounding agent.
41+
However, to ensure that ECMAScript programs can depend on a consistent view of time zone data, this specification places the following requirements on ECMAScript implementations that dynamically update time zone data:
42+
</p>
43+
<ul>
44+
<li>
45+
After time zone data for a particular canonical named time zone is used during the lifetime of the surrounding agent, equivalent time zone data must be used for the lifetime of the surrounding agent for all subsequent use of the same canonical time zone name.
46+
However, implementations are allowed to use different versions of time zone data for different canonical time zone names.
47+
</li>
48+
<li>
49+
Any time zone name string, when evaluated ASCII-case-insensitively, must be canonicalized to the same canonical time zone name for the lifetime of the surrounding agent.
50+
</li>
51+
</ul>
52+
</emu-clause>
53+
3054
<emu-clause id="sec-isavailabletimezonename" type="abstract operation">
3155
<h1>
3256
IsAvailableTimeZoneName (

0 commit comments

Comments
 (0)