<div dir="ltr"><div class="gmail_default"><font face="times new roman, serif">> <span style="color:rgb(34,34,34);font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">As Robert Elz says, almost anything is possible.</span></font></div><div class="gmail_default"><span style="color:rgb(34,34,34);font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif"><br></font></span></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_default"><font face="times new roman, serif"><span style="color:rgb(34,34,34);font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">True, but you can't design software and data to handle everything. Some government could decide that every other day the clock is to move forward by the number of minutes in that day of each Hindi month. Doesn't mean that we should design for that now. </span></font></div></blockquote><div class="gmail_default"><font face="times new roman, serif"><span style="font-size:12.8px"><br></span></font></div><div class="gmail_default"><font face="times new roman, serif"><span style="font-size:12.8px"><span style="color:rgb(34,34,34);font-family:"times new roman",serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span> </span>The TZDB group has done a masterful job over the years, and we all owe a debt of gratitude to all of the people who have spent so much time on it. But like many, many systems, its very success puts constraints on it. There are so many changes I wish we could make in Unicode, for example, but even if "formally speaking" we could make those changes, practically speaking they would be massively disruptive. Clearly sometimes you have to make disruptive changes</span>, but any such change should have very, very clear ROI that strongly outweighs the disruption.</span></font></div><div class="gmail_default"><span style="color:rgb(34,34,34);font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif"><br></font></span></div><div class="gmail_default"><span style="color:rgb(34,34,34);font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif">The change to negative offsets is massively disruptive, and has no significant functional difference I can see; functionally it is purely the TZDB abbreviations. The TZDB should not concern itself with names, since they always have to be localized for mere humans. S<span style="color:rgb(34,34,34);font-family:"times new roman",serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">o frankly, I see no reasons for<span> ever having <span style="color:rgb(34,34,34);font-family:"times new roman",serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">SAVE<0.</span></span></span></font></span></div><div class="gmail_default"><span style="color:rgb(34,34,34);font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif"><br></font></span></div><div class="gmail_default"><span style="color:rgb(34,34,34);font-size:12.8px;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif" style="">But let's suppose that there are. In that case, I see no option other than issuing both data files that are strictly <span style="font-style:normal;color:rgb(34,34,34);font-family:"times new roman",serif;font-size:12.8px;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">SAVE≥0 and data file(s) that no such restriction (or the logical equivalent to dual files) until such time as we have confidence that the number of clients broken by this change becomes very small.</span></font></span></div><div class="gmail_default"><span style="color:rgb(34,34,34);font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif"><br></font></span></div><div class="gmail_default"><span style="color:rgb(34,34,34);font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif">===</font></span></div><div class="gmail_default"><font face="times new roman, serif"><br></font></div><div class="gmail_default"><font face="times new roman, serif">In the meantime, l<span style="font-size:12.8px">et me try to set out some of the things that CLDR does and doesn't do, since people have questions about that. Some is a recap of what others have said.</span></font></div><div class="gmail_default"><span style="font-size:12.8px"><font face="times new roman, serif"><br></font></span></div><div class="gmail_default"><span style="font-size:12.8px"><font face="times new roman, serif">The architecture is built to supply a variety of different kinds of names for timezones, in all of our languages, to try to meet local expectations. It does not do calculations of time offsets; it depends on clients using the tzdb for that. The linkage is supplied by the tzid (eg </font></span><font face="times new roman, serif"><span style="font-size:12.8px">America/Los_Angeles).</span></font><span style="font-family:"times new roman",serif;font-size:12.8px"> (A<span style="color:rgb(34,34,34);font-family:"times new roman",serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">s has been seen in these threads,<span> the </span></span>clients do the calculations in very different ways, and are updated on very different schedules. It is quite customary in some clients for the tzdb to be updated regularly, but use an old version of code and and old version CLDR data.)</span></div><div class="gmail_default"><span style="font-family:"times new roman",serif;font-size:12.8px"><br></span></div><div class="gmail_default"><span style="font-family:"times new roman",serif;font-size:12.8px">Some of the following is a simplified description, in cases where I think the complications are not particularly relevant.</span></div><div class="gmail_default"><ul><li><font face="times new roman, serif">CLDR is targeted at names in locales: by <span style="font-size:12.8px">language, sometimes also different by script (where multiple scripts are common for the language), sometimes also different by country (where there are local differences).</span></font></li><li><font face="times new roman, serif">There are multiple kinds of names based on input parameters, with a fallback mechanism if a name is missing. Worst case, you get an offset from GMT/UTC (localized, eg "ጂ ኤም ቲ-0300")</font></li><li><font face="times new roman, serif">For a given locale, the names must be unambiguous. For example, the term X can't be used <i style="color:rgb(34,34,34);font-size:small;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">in the same locale, in the same timespan </i>as a name for both a tzid with UTC+3 and a tzid with UTC-6.</font></li><li><font face="times new roman, serif"><b>metazones:</b> these provide a mechanism for sharing names across tzids. <br></font></li><ul><li><font face="times new roman, serif">Logically the lookup is roughly: <tzid> <span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">→ name; if name = ∅, then</span> <datetime, tzid> <span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">→ metazone <span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">→ name</span></span></font></li><li><span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif">The same tzid can be in different metazones over time.</font></span></span></li><li><span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif">For some more details, see below.</font></span></span></li></ul><li><font face="times new roman, serif"><b>abbreviated: </b>we support abbreviations, but only supply abbreviations for a locale if they would be both customary and unambigous in the target locale (often different by country).</font></li><li><b><font face="times new roman, serif">generic:</font></b></li><ul><li><font face="times new roman, serif">id="generic" is most used for a recurring events. "Every Thursday in 2018 at <span style="color:rgb(34,34,34);font-family:"times new roman",serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">14:00 Pacific Time</span>", referring to wall time in the metazone <span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">America_Pacific.</span></font></li></ul><li><font face="times new roman, serif"><span style="color:rgb(34,34,34);font-size:small;font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><b>summer vs winter</b></span><br></font></li><ul><li><font face="times new roman, serif">id="standard" is the ID used for SAVE=0. </font></li><li><font face="times new roman, serif">id="daylight" is the ID used for <span style="color:rgb(34,34,34);font-family:"times new roman",serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">SAVE>0</span>. Only present where the metazone/tzid has such a contrast.</font></li><li><font face="times new roman, serif">These are just IDs, the names will be in different languages, and can be /winter/ and /summer/, or something else: whatever makes the most sense to users of that locale. For example, for English, we have daylight → "Irish Standard Time"</font></li><li><font face="times new roman, serif">There is a current restriction to 2 fields. It would be relatively easy for us to add an additional field, which we would do if some modern locale had something like "double-daylight" time. It might take a long time for clients to support that, however.</font></li></ul></ul><div><font face="times new roman, serif"><br></font></div><div><font face="times new roman, serif"><b>Metazones</b></font></div><div><font face="times new roman, serif">These provide a level of indirection.</font></div><div><font face="times new roman, serif"><br></font></div><div><span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><font face="times new roman, serif"><span> </span>"America_Pacific" is a metazone that is currently shared by "America/Tijuana", "America/Vancouver", ... The mapping depends on a date-time span + tzid. For example:</font></span></div><div><font face="times new roman, serif"><span style="white-space:pre">                   </span><timezone type="America/Bahia_Banderas"></font></div><div><font face="times new roman, serif"><span style="white-space:pre">                             </span><usesMetazone to="1970-01-01 08:00" mzone="America_Pacific"/></font></div><div><font face="times new roman, serif"><span style="white-space:pre">                              </span><usesMetazone to="2010-04-04 09:00" from="1970-01-01 08:00" mzone="America_Mountain"/></font></div><div><font face="times new roman, serif"><span style="white-space:pre">                           </span><usesMetazone from="2010-04-04 09:00" mzone="America_Central"/></font></div><div><font face="times new roman, serif"><span style="white-space:pre">                    </span></timezone></font></div><div><font face="times new roman, serif"><span style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> When a name is looked up, we first lookup by tzid, then by metazone. So for a given loc, a particular tzid's names can be overridden to be different from the shared metazone's names.</span><br></font></div></div><div class="gmail_extra"><font face="times new roman, serif"><br clear="all"></font><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font face="'times new roman', serif"><div style="background-color:transparent;margin:0px"><div></div></div><div style="background-color:transparent;margin:0px">Mark</div></font><div><div><font face="'times new roman', serif"><i><span style="font-style:normal"><i></i></span><i></i></i></font></div></div></div></div></div></div></div></div></div></div></div></div></div>
<font face="times new roman, serif"><br></font><div class="gmail_quote"><font face="times new roman, serif">On Sun, Jan 28, 2018 at 4:06 AM, Peter Ilieve via tz <span dir="ltr"><<a href="mailto:tz@iana.org" target="_blank">tz@iana.org</a>></span> wrote:<br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5"><font face="times new roman, serif">On 28 Jan 2018, at 05:34, Robert Elz <<a href="mailto:kre@munnari.OZ.AU">kre@munnari.OZ.AU</a>> wrote:<br>
<br>
> From: Meno Hochschild <<a href="mailto:mhochschild@gmx.de">mhochschild@gmx.de</a>><br>
> Message-ID: <<a href="mailto:15c91fab-ca48-d6bd-f961-2b7ce00e7b15@gmx.de">15c91fab-ca48-d6bd-f961-<wbr>2b7ce00e7b15@gmx.de</a>><br>
> Date: Sat, 27 Jan 2018 21:49:27 +0100<br>
> Subject: Re: [tz] [english 100%] Re: OpenJDK/CLDR/ICU/Joda issues with<br>
>      Ireland change<br>
><br>
> | About the wish for the restriction that a set of rule lines with same<br>
> | name should not have mixed signs of dst offsets, I will try to explain.<br>
> | The whole thing is about labelling what the zero dst offset stands for.<br>
><br>
> The issue is that it does not (by itself) "stand for" anything.<br>
><br>
> This is one of the (invalid) assumptions that people tend to make,<br>
> probably because it has mostly seemed to be universally true in<br>
> (most of) the US, and in Europe, and yes, in Australia, and of<br>
> course in those places that have only ever had one zone offset since<br>
> standardised time was adopted.<br>
><br>
> But jurisdictions are free to (without implementing any kind of<br>
> annual time shift, ala summer time or daylight savings) alter their<br>
> timezone (that is, shift their clocks relative to UTC) any time<br>
> they like,  as often as they like, and to anything they like, and can<br>
> alter the name they call their time (assuming that it is called anything<br>
> other than "the time") any time they like as well (either at the same<br>
> time as a change of offset occurs, or just at some random time for<br>
> whatever reason appeals.).<br>
><br>
> There is simply no one name, or UTC offset, for "standard" or "alternate"<br>
> time in any timezone - attempting to force one is simply wrong.<br>
<br>
</font></div></div><font face="times new roman, serif">This isn’t just some theoretical possibility either. In Europe, with<br>
its reasonably stable rules, Portugal has changed timezone twice within<br>
my memory: in 1992 and 1996. Looking at the tz data, it has changed twice<br>
more in my lifetime: in 1966 and 1976. For the earlier two changes the<br>
clocks changed and the isdst flag didn’t (Portugal didn’t do DST then).<br>
For the later two the clocks didn’t change but the isdst flag did.<br>
<br>
As Robert Elz says, almost anything is possible.<br>
<span class="gmail-HOEnZb"><font color="#888888"><br>
<br>
                Peter Ilieve<br>
<br>
</font></span></font></blockquote></div><br></div></div>