CLDR Ticket #10742(design unknown)
Change of format for timestamps in metazone data
Reported by: | matt.johnson@… | Owned by: | discuss |
---|---|---|---|
Component: | timezone | Data Locale: | |
Phase: | dsub | Review: | |
Weeks: | Data Xpath: | ||
Xref: |
Description
In http://www.unicode.org/reports/tr35/tr35-dates.html#Metazone_Names there is an example:
<timezone type="America/Indiana/Knox"> <usesMetazone to="1991-10-27 07:00" mzone="America_Central"/> <usesMetazone to="2006-04-02 07:00" from="1991-10-27 07:00" mzone="America_Eastern"/> <usesMetazone from="2006-04-02 07:00" mzone="America_Central"/> </timezone>
It also states that the dates and times are specified in UTC, not local time. However, it is easy to miss this line in the spec and mistake it for local time, as ISO 8601 timestamps without any suffix are intended to be treated as local time.
It would make much more sense, and comply with ISO 8601, to have them specified with a Z suffix, indicating UTC. It would also make sense to use the T separator instead of a space.
Preferred format:
<timezone type="America/Indiana/Knox"> <usesMetazone to="1991-10-27T07:00Z" mzone="America_Central"/> <usesMetazone to="2006-04-02T07:00Z" from="1991-10-27T07:00Z" mzone="America_Eastern"/> <usesMetazone from="2006-04-02T07:00Z" mzone="America_Central"/> </timezone>
Of course, the actual metazone data would need to be updated accordingly. This may be considered a breaking change for some, depending on how they are parsing the string.
Note that this would also make the field compliant with xs:dateTime in XML Schema Definition (XSD). Not sure if that matters here or not, but could be important to some.