Skip to content

Commit e4f973b

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

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

spec/timezone.html

Lines changed: 25 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,29 @@ <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 that includes the ECMA-402 Internationalization API is strongly encouraged to use the most recent version of the IANA Time Zone Database that was available when the implementation was released.
37+
Other implementations are encouraged to do the same.
38+
</p>
39+
<p>
40+
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.
41+
It is allowed for these updates to happen within the lifetime of the surrounding agent.
42+
However, to ensure that ECMAScript programs can depend on a consistent view of time zone data, this specification places the following requirements ECMAScript implementations that dynamically update time zone data:
43+
</p>
44+
<ul>
45+
<li>
46+
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.
47+
However, implementations are allowed to use different versions of time zone data for different canonical time zone names.
48+
</li>
49+
<li>
50+
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.
51+
</li>
52+
</ul>
53+
</emu-clause>
54+
3055
<emu-clause id="sec-isavailabletimezonename" type="abstract operation">
3156
<h1>
3257
IsAvailableTimeZoneName (

0 commit comments

Comments
 (0)