You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit adds "named" to text and AOs dealing with available time
identifiers. The purpose of this change is to clarify that offset time
zones are not included in available time zone IDs.
Copy file name to clipboardExpand all lines: spec/intl.html
+11-11Lines changed: 11 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -55,8 +55,8 @@ <h1>Time Zone Identifiers</h1>
55
55
<p>
56
56
The ECMAScript Internationalization API Specification identifies time zones using the Zone and Link names of the IANA Time Zone Database <ahref="https://www.iana.org/time-zones/">https://www.iana.org/time-zones/</a>.
57
57
Time zone identifiers are case-insensitive and so are compared using ASCII case-insensitive comparisons, but time zone identifiers returned by ECMAScript built-in objects always use the casing found in the IANA Time Zone Database.
58
-
A primary time zone identifier is a Zone name, and a non-primary time zone identifier is a Link name, respectively, in the IANA Time Zone Database except as specifically overridden by AvailableTimeZoneIdentifiers.
59
-
In an implementation that implements the ECMAScript Internationalization API Specification, available time zone identifiers are the set of Zone and Link identifiers that are supported by an ECMAScript implementation.
58
+
A primary time zone identifier is a Zone name, and a non-primary time zone identifier is a Link name, respectively, in the IANA Time Zone Database except as specifically overridden by AvailableNamedTimeZoneIdentifiers.
59
+
In an implementation that implements the ECMAScript Internationalization API Specification, available named time zone identifiers are the set of Zone and Link identifiers that are supported by an ECMAScript implementation.
60
60
</p>
61
61
62
62
<p>
@@ -78,7 +78,7 @@ <h1>Time Zone Identifiers</h1>
78
78
79
79
<p>
80
80
New Zone identifiers can be added to the IANA Time Zone Database, for example when one part of a country starts observing Daylight Saving Time differently from other parts, or when a new country declares independence.
81
-
ECMAScript implementations are recommended to include newly-added identifiers as soon as possible into the results of AvailableTimeZoneIdentifiers.
81
+
ECMAScript implementations are recommended to include newly-added identifiers as soon as possible into the results of AvailableNamedTimeZoneIdentifiers.
82
82
Such prompt action ensures that ECMAScript programs receiving those identifiers from an external source (including the host's operating system) will be able to recognize and calculate using the new time zone.
<h1>AvailableNamedTimeZoneIdentifiers ( ): a List of Time Zone Identifier Records</h1>
156
156
<dlclass="header">
157
157
<dt>description</dt>
158
158
<dd>
159
-
Its result describes all available time zone identifiers in this implementation, as well as the primary time zone identifier corresponding to each available identifier.
159
+
Its result describes all available named time zone identifiers in this implementation, as well as the primary time zone identifier corresponding to each available named time zone identifier.
160
160
The List is sorted by [[Identifier]] of each Time Zone Identifier Record.
161
161
</dd>
162
162
<dt>redefinition</dt>
@@ -182,11 +182,11 @@ <h1>AvailableTimeZoneIdentifiers ( ): a List of Time Zone Identifier Records</h1
182
182
183
183
<emu-note>
184
184
Time zone identifiers in the IANA Time Zone Database can change over time.
185
-
At a minimum, it is recommended that implementations limit changes to the result of AvailableTimeZoneIdentifiers to the changes allowed by GetAvailableTimeZoneIdentifier, for the lifetime of the surrounding agent.
186
-
Due to the complexity of supporting these recommendations, it is recommended that the result of AvailableTimeZoneIdentifiers remains the same for the lifetime of the surrounding agent.
185
+
At a minimum, it is recommended that implementations limit changes to the result of AvailableNamedTimeZoneIdentifiers to the changes allowed by GetAvailableNamedTimeZoneIdentifier, for the lifetime of the surrounding agent.
186
+
Due to the complexity of supporting these recommendations, it is recommended that the result of AvailableNamedTimeZoneIdentifiers remains the same for the lifetime of the surrounding agent.
187
187
</emu-note>
188
188
189
-
<p>This definition supersedes the definition provided in <emu-xrefhref="#sec-availabletimezoneidentifiers"></emu-xref>.</p>
189
+
<p>This definition supersedes the definition provided in <emu-xrefhref="#sec-availablenamedtimezoneidentifiers"></emu-xref>.</p>
Copy file name to clipboardExpand all lines: spec/timezone.html
+22-22Lines changed: 22 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -14,20 +14,20 @@ <h1>Time Zone Identifiers</h1>
14
14
<p>
15
15
Time zones in ECMAScript are described using <dfnvariants="time zone identifier">time zone identifiers</dfn>, which must be Strings composed entirely of characters from the Unicode Basic Latin block.
16
16
Time zone identifiers are case-insensitive and so are compared using ASCII case-insensitive comparisons.
17
-
Built-in time zones may be <dfnvariants="named time zone">named time zones</dfn>, represented by Strings for which GetAvailableTimeZoneIdentifier does not return ~empty~.
18
-
They may also be <dfnvariants="offset time zone">offset time zones</dfn>, represented by Strings for which IsTimeZoneOffsetString returns *true*.
17
+
Built-in time zones may be <dfnvariants="named time zone">named time zones</dfn>, identified by Strings for which GetAvailableNamedTimeZoneIdentifier does not return ~empty~.
18
+
They may also be <dfnvariants="offset time zone">offset time zones</dfn>, identified by Strings for which IsTimeZoneOffsetString returns *true*.
19
19
</p>
20
20
<p>
21
-
<emu-xrefhref="#sec-temporal-timezone-constructor">The `Temporal.TimeZone` constructor</emu-xref>, when called with the name of a built-in time zone as the argument, will return a valid `Temporal.TimeZone` object.
21
+
<emu-xrefhref="#sec-temporal-timezone-constructor">The `Temporal.TimeZone` constructor</emu-xref>, when called with the identifier of a built-in time zone as the argument, will return a valid `Temporal.TimeZone` object.
22
22
When called with any other string, it will throw a *RangeError* exception.
23
23
</p>
24
24
<p>
25
25
A <dfnvariants="primary time zone identifiers">primary time zone identifier</dfn> represents the preferred identifier of a named time zone, while a <dfnvariants="non-primary time zone identifiers">non-primary time zone identifier</dfn> is an alternate identifier for the same named time zone.
26
-
The set of built-in, named time zone identifiers (both primary and non-primary) that are supported by an ECMAScript implementation are called available time zone identifiers.
26
+
The set of built-in, named time zone identifiers (both primary and non-primary) that are supported by an ECMAScript implementation are called <dfnvariants="available named time zone identifier">available named time zone identifiers</dfn>.
27
27
</p>
28
28
<p>
29
29
At a minimum, ECMAScript implementations must support a built-in time zone with the identifier *"UTC"*, which must be primary.
30
-
If the return value _tz_ of SystemTimeZoneIdentifier is different from *"UTC"*, and IsTimeZoneOffsetString(_tz_) is *false*, then implementations must also support _tz_ as a built-in time zone identifier, and it must be primary as well.
30
+
If the return value _tz_ of SystemTimeZoneIdentifier is different from *"UTC"*, and IsTimeZoneOffsetString(_tz_) is *false*, then implementations must also support _tz_ as an available named time zone identifier, and it must be primary as well.
31
31
In addition, implementations may support any number of other built-in time zones.
32
32
</p>
33
33
<p>
@@ -41,7 +41,7 @@ <h1>Time Zone Identifiers</h1>
41
41
42
42
<emu-clauseid="sec-time-zone-identifier-record">
43
43
<h1>Time Zone Identifier Record</h1>
44
-
<p>A <dfnvariants="Time Zone Identifier Records">Time Zone Identifier Record</dfn> is a Record used to describe an available time zone identifier, as well as the primary time zone identifier corresponding to it.</p>
44
+
<p>A <dfnvariants="Time Zone Identifier Records">Time Zone Identifier Record</dfn> is a Record used to describe an available named time zone identifier, as well as the primary time zone identifier corresponding to it.</p>
45
45
<p>Time Zone Identifier Records have the fields listed in <emu-xrefhref="#table-time-zone-identifier-record-fields"></emu-xref>.</p>
46
46
<emu-tableid="table-time-zone-identifier-record-fields"caption="Time Zone Identifier Record Fields">
47
47
<table>
@@ -53,7 +53,7 @@ <h1>Time Zone Identifier Record</h1>
53
53
<tr>
54
54
<td>[[Identifier]]</td>
55
55
<td>a String</td>
56
-
<td>An available time zone identifier that is supported by the implementation.</td>
56
+
<td>An available named time zone identifier that is supported by the implementation.</td>
57
57
</tr>
58
58
<tr>
59
59
<td>[[PrimaryIdentifier]]</td>
@@ -70,17 +70,17 @@ <h1>Time Zone Identifier Record</h1>
<h1>AvailableNamedTimeZoneIdentifiers ( ): a List of Time Zone Identifier Records</h1>
75
75
<dlclass="header">
76
76
<dt>description</dt>
77
77
<dd>
78
-
Its result describes all available time zone identifiers in this implementation, as well as the primary time zone identifier corresponding to each available identifier.
78
+
Its result describes all available named time zone identifiers in this implementation, as well as the primary time zone identifier corresponding to each available named time zone identifier.
79
79
The List is sorted by [[Identifier]] of each Time Zone Identifier Record.
80
80
</dd>
81
81
</dl>
82
82
<p>
83
-
Time zone aware implementations, including all implementations that implement the ECMA-402 Internationalization API, must implement the AvailableTimeZoneIdentifiers abstract operation as specified in the ECMA-402 specification.
83
+
Time zone aware implementations, including all implementations that implement the ECMA-402 Internationalization API, must implement the AvailableNamedTimeZoneIdentifiers abstract operation as specified in the ECMA-402 specification.
84
84
For implementations that are not time zone aware, the following specification is used.
85
85
</p>
86
86
<emu-alg>
@@ -104,27 +104,27 @@ <h1>AvailableTimeZoneIdentifiers ( ): a List of Time Zone Identifier Records</h1
): either a Time Zone Identifier Record or ~empty~
110
110
</h1>
111
111
112
112
<dlclass="header">
113
113
<dt>description</dt>
114
114
<dd>
115
-
If _timeZoneIdentifier_ is a time zone identifier that is supported by the implementation, then it returns one of the records in the List returned by AvailableTimeZoneIdentifiers.
115
+
If _timeZoneIdentifier_ is a named time zone identifier that is supported by the implementation, then it returns one of the records in the List returned by AvailableNamedTimeZoneIdentifiers.
116
116
Otherwise, ~empty~ will be returned.
117
117
</dd>
118
118
</dl>
119
119
<emu-alg>
120
-
1. For each element _record_ of AvailableTimeZoneIdentifiers(), do
120
+
1. For each element _record_ of AvailableNamedTimeZoneIdentifiers(), do
121
121
1. If _record_.[[Identifier]] is an ASCII-case-insensitive match for _timeZoneIdentifier_, return _record_.
122
122
1. Return ~empty~.
123
123
</emu-alg>
124
124
<emu-note>
125
125
Given the same value of _timeZoneIdentifier_ or any value that is an ASCII-case-insensitive match for it, it is recommended that the resulting Time Zone Identifier Record contain the same property values for the lifetime of the surrounding agent.
126
-
Furthermore, it is recommended that time zone identifiers do not dynamically change from primary to non-primary, meaning that if _timeZoneIdentifier_ is a case-insensitive match for the [[PrimaryIdentifier]] property of the result of a previous call to GetAvailableTimeZoneIdentifier, then GetAvailableTimeZoneIdentifier(_timeZoneIdentifier_) will return a record where [[Identifier]] is [[PrimaryIdentifier]].
127
-
Due to the complexity of supporting these recommendations, it is recommended that the result of AvailableTimeZoneIdentifiers (and therefore GetAvailableTimeZoneIdentifier) remains the same for the lifetime of the surrounding agent.
126
+
Furthermore, it is recommended that time zone identifiers do not dynamically change from primary to non-primary, meaning that if _timeZoneIdentifier_ is a case-insensitive match for the [[PrimaryIdentifier]] property of the result of a previous call to GetAvailableNamedTimeZoneIdentifier, then GetAvailableNamedTimeZoneIdentifier(_timeZoneIdentifier_) will return a record where [[Identifier]] is [[PrimaryIdentifier]].
127
+
Due to the complexity of supporting these recommendations, it is recommended that the result of AvailableNamedTimeZoneIdentifiers (and therefore GetAvailableNamedTimeZoneIdentifier) remains the same for the lifetime of the surrounding agent.
128
128
</emu-note>
129
129
</emu-clause>
130
130
@@ -139,9 +139,9 @@ <h1>SystemTimeZoneIdentifier ( ): a String</h1>
139
139
140
140
<emu-alg>
141
141
1. If the implementation only supports the UTC time zone, return *"UTC"*.
142
-
1. Let _systemTimeZoneString_ be the String representing the environment's current time zone, either a time zone identifier or a UTC offset string.
142
+
1. Let _systemTimeZoneString_ be the String representing the environment's current time zone, either a named time zone identifier or a UTC offset string.
143
143
1. If IsTimeZoneOffsetString(_systemTimeZoneString_) is *true*, return _systemTimeZoneString_.
144
-
1.Assert:_systemTimeZoneString_ is equal to the [[PrimaryIdentifier]] property of at least one Time Zone Identifier Record returned by AvailableTimeZoneIdentifiers().
144
+
1.Assert:_systemTimeZoneString_ is equal to the [[PrimaryIdentifier]] property of at least one Time Zone Identifier Record returned by AvailableNamedTimeZoneIdentifiers().
0 commit comments