<div dir="ltr"><div>Since you've referenced CLDR already, I may be saying things you know, and you're looking for an "official position" from IANA folks. If so, please feel free to ignore the info below, I'm mostly just a lurker here who has been straddling a few different libraries for Android for a few years, so I appreciate some of the terminology / disconnects.<br></div><div><br></div><div>Below I'll refer to identifiers like "Europe/London" as the zone ID. I think the TZDB nomenclature uses "zone name" for this, but I tend to avoid it because it's confusing in the Java / ICU world when also talking about "display names".</div><div><br></div>Somebody who knows better will be along to correct me, but I think strings like  'Central European Summer Time' are obtained in CLDR / ICU internals via the "metazone" mapping, which CLDR originates.<div><br><div>i.e. zone IDs that share the same "Central European Summer Time" string at a given point in time are in the same metazone at that time. Zone IDs that have the same offset + rules according to TZDB, even in the same country, may have different metazones because the populace may choose to call their time something different even if they follow the same rules right now. Across borders, two neighboring countries that share the same rules may also choose to observe the same naming (e.g. the EU may like Central European Time) or different (e.g. "Irish Standard Time" / "British Summer Time"). Because names have geopolitical implications, this can get a bit complicated (e.g. Crimea), which is why I'm glad CLDR looks after it. CLDR also specifies times when a zone ID is in a metazone, so a given zone ID that may be in one metazone today may be in a different metazone tomorrow (e.g. Yukon changes last year, IIRC).</div><div><br></div><div>Metazone assignments often change to track TZDB changes, which can be seen if you look at the history for metazones.xml in Android (<a href="https://cs.android.com/android/platform/superproject/+/master:external/cldr/common/supplemental/metaZones.xml;l=1;bpv=1">https://cs.android.com/android/platform/superproject/+/master:external/cldr/common/supplemental/metaZones.xml;l=1;bpv=1</a>)</div><div><br></div><div>All that said, metazones could perhaps be ignored as an implementation detail used to derive a name for a zone ID. I tend to refer to names like 'Central European Summer Time' as the (long) "display name". This is because I first encountered these via ICU and Java APIs which use the TimeZone getDisplayName method to obtain them and have constants for long ("Mountain Daylight Time") / short ("MDT") / generic long ("Mountain Time"), etc.</div><div><br></div><div>Hope that helps,</div><div><br></div><div>Neil.</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 13 Apr 2021 at 14:55, Michael[tm] Smith via tz <<a href="mailto:tz@iana.org">tz@iana.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In the time zone taxonomy, if the term for “Europe/Berlin” is clearly “time zone”,<br>
and “GMT+2” is precisely a “timezone offset”, is there a term (other than “time<br>
zone”) for what “Central European Summer Time” is — either an authoritative/<br>
normative term, or else at least a best-practice term that’s commonly used?<br>
<br>
The context is, I’m updating some of the MDN documentation related to JavaScript<br>
methods and properties for dealing with dates, including these articles:<br>
<br>
* <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat" rel="noreferrer" target="_blank">https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat</a><br>
* <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts" rel="noreferrer" target="_blank">https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts</a><br>
<br>
And in particular, I’m working on trying to describe the timeZoneName property,<br>
in the context of the following behavior: Consider the following code:<br>
<br>
  TZ=Europe/Berlin node -e "console.log(new Intl.DateTimeFormat('en-us', \<br>
    { timeZoneName: 'short' }).formatToParts())"<br>
<br>
When you run that, what you get back is this:<br>
<br>
  [<br>
    { type: 'month', value: '4' },<br>
    { type: 'literal', value: '/' },<br>
    { type: 'day', value: '13' },<br>
    { type: 'literal', value: '/' },<br>
    { type: 'year', value: '2021' },<br>
    { type: 'literal', value: ', ' },<br>
    { type: 'timeZoneName', value: 'GMT+2' }<br>
  ]<br>
<br>
So part of what I want to explain in the MDN articles is: When you specify<br>
“timeZoneName: 'short'”, what you get back as the value for the 'timeZoneName'<br>
field in the output is actually a time zone *offset* — not a time zone.<br>
<br>
But along with that, I need to deal with describing this case:<br>
<br>
  TZ=Europe/Berlin node -e "console.log(new Intl.DateTimeFormat('en-us',<br>
    { timeZoneName: 'long' }).formatToParts())"<br>
<br>
When you run that, what you get back is this:<br>
<br>
  [<br>
    { type: 'month', value: '4' },<br>
    { type: 'literal', value: '/' },<br>
    { type: 'day', value: '13' },<br>
    { type: 'literal', value: '/' },<br>
    { type: 'year', value: '2021' },<br>
    { type: 'literal', value: ', ' },<br>
    { type: 'timeZoneName', value: 'Central European Summer Time' }<br>
  ]<br>
<br>
That’s the particular thing I’m struggling with — that is, when you specify<br>
“timeZoneName: 'long'”, what do I call the 'Central European Summer Time'<br>
that you get back in the output?<br>
<br>
Something like “a localized long name for the associated time zone offset”<br>
is the best I’ve been able to come up with. But I’ve been hoping there<br>
might be some authoritative term for it that I’ve not managed to find yet.<br>
<br>
And I realize there’s no “Central European Summer Time” in the zoneinfo<br>
data itself — and so implementations get that by doing some kind of lookup<br>
against (I guess) CLDR. So I guess it’s expected that the documentation for<br>
the IANA timezone database itself doesn’t have a term for it.<br>
<br>
And I guess it’s also unsurprising that CLDR seems to just use the term “time<br>
zone” to refer to it — since CLDR doesn’t need to bee more precise and since<br>
because CLDR doesn’t need to do anything with the actual canonical time zone<br>
names such as Europe/Berlin, it doesn’t have the problem of distinguishing<br>
between what a time zone is and what time zone offset is.<br>
<br>
But from what I’ve seen in issues and questions reported by developers at MDN<br>
and Stack Overflow, probably the single biggest source of chronic frustration<br>
that developers have when dealing with date-related methods and properties<br>
in programming languages comes down to a fundamental misunderstanding of<br>
what a time zone is, and how it differs from time zone offset.<br>
<br>
So I’ve admired what Matt Johnson-Pint has done at Stack Overflow in answering<br>
many questions — and in putting the <a href="https://stackoverflow.com/tags/timezone/info" rel="noreferrer" target="_blank">https://stackoverflow.com/tags/timezone/info</a><br>
and <a href="https://stackoverflow.com/tags/timezone-offset/info" rel="noreferrer" target="_blank">https://stackoverflow.com/tags/timezone-offset/info</a> pages together — to<br>
provide developers with the kind of clarity they need to solve their problems.<br>
<br>
And so what I’m hoping to do with my MDN changes is to bring similar<br>
clarity to developers through MDN.<br>
<br>
And so also that’s why it seems important to get the terminology right at MDN<br>
when explaining to developers exactly what “Central European Summer Time” is.<br>
<br>
  –Mike<br>
<br>
-- <br>
Michael[tm] Smith <a href="https://people.w3.org/mike" rel="noreferrer" target="_blank">https://people.w3.org/mike</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Google UK Limited<br><br>Registered Office: 6 Pancras Square, London, N1C 4AG<br>Registered in England Number: 3977902</div></div></div></div></div>