[tz] OpenJDK/CLDR/ICU/Joda issues with Ireland change
yoshito_umaoka at us.ibm.com
Thu Jan 25 19:52:55 UTC 2018
> So just to be clear, CLDR *could* support a Europe/Dublin that had
> an independent metazone with <standard>Irish Standard Time</
> standard><daylight>Greenwich Mean Time</daylight>, it's just that
> synchronizing such a change with the tzdb change is intractable, right?
> (that version number field is looking more and more important...)
If we need a single TZ DB zone has changing names time to time, we create
what we call "meta zone", and define a set of short/long -
/generic name for the meta zone.
Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:14:48
-7:00 US M%sT 1992 Oct 25 2:00
-6:00 US C%sT
CLDR define meta zones
<standard>Central Standard Time</standard>
<daylight>Central Daylight Time</daylight>
<standard>Mountain Standard Time</standard>
<daylight>Mountain Daylight Time</daylight>
These meta zone display names are translated for various locales.
Then, we have historic zone -> meta zone mapping data as below:
<usesMetazone to="1992-10-25 08:00"
<usesMetazone from="1992-10-25 08:00"
So, when CLDR consumer code such as ICU want to show time zone display
at a given time, it looks up which meta zone is used at the time, then
or daylight, then retrieve appropriate display name data type.
With above example, if the input time is 2018-01-01T00:00:00Z, then meta
"America_Central" is resolved with the meta zone mapping data above. ICU
data generated from tz database and detect the date fall into standard
zone name for standard in meta zone "America_Central" is used.
At this moment, "Irish Standard Time" is set to zone directly, but if we
historic names, we can create a new meta zone, define a set of name there,
it to zone-to-meta-zone mapping data.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the tz