[tz] OpenJDK/CLDR/ICU/Joda issues with Ireland change
Mark Davis ☕️
mark at macchiato.com
Wed Jan 24 22:03:20 UTC 2018
CLDR doesn't formally have offsets. What it has is data like:
en.xml
<metazone type="America_Eastern">
<long>
<generic>Eastern Time</generic>
<standard>Eastern Standard Time</standard>
<daylight>Eastern Daylight Time</daylight>
</long>
<short>
<generic>ET</generic>
<standard>EST</standard>
<daylight>EDT</daylight>
</short>
</metazone>
de.xml
<metazone type="America_Eastern">
<long>
<generic>Nordamerikanische Ostküstenzeit</generic>
<standard>Nordamerikanische Ostküsten-Normalzeit</standard>
<daylight>Nordamerikanische Ostküsten-Sommerzeit</daylight>
</long>
</metazone>
(Note that abbreviations are only included if they'd be commonly
recognized.)
Each metazones represent a set names that can be used across multiple TZ
ids. There can be overrides by TZ id, such as the current:
<zone type="Europe/London">
<long>
<daylight>British Summer Time</daylight>
</long>
</zone>
<zone type="Europe/Dublin">
<long>
<daylight>Irish Standard Time</daylight>
</long>
</zone>
Both of these inherit
<standard>Greenwich Mean Time</standard>
So a current implementation, with no changes, will get for Europe/Dublin:
<standard>Greenwich Mean Time</standard>
<daylight>Irish Standard Time</daylight>
Different clients will use the data in different ways. The source for ICU,
for example, reformats to a key-value map:
"meta:America_Eastern"{
ld{"Eastern Daylight Time"}
lg{"Eastern Time"}
ls{"Eastern Standard Time"}
sd{"EDT"}
sg{"ET"}
ss{"EST"}
}
The normal interpretation of "standard" and "daylight" keywords or
equivalents is that:
standard_offset = 0
daylight_offset ≠ 0
Mark
On Wed, Jan 24, 2018 at 10:44 AM, Guy Harris <guy at alum.mit.edu> wrote:
> On Jan 23, 2018, at 11:55 AM, Yoshito Umaoka <yoshito_umaoka at us.ibm.com>
> wrote:
>
> > CLDR does not determine offsets.
>
> Stephen Colebourne claimed that CLDR determines whether to use the
> standard or daylight time strings by comparing the "raw offset" (presumably
> meaning "the offset during standard time") with the "actual offset"
> (presumably meaning "the offset during daylight savings time").
>
> Therefore, it *must* know those offsets, otherwise it cannot compare them.
>
> So let me rephrase the question:
>
> How does CLDR obtain those offsets?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20180124/aa509227/attachment.html>
More information about the tz
mailing list