Subject: Re: [Tzdist-bis] standard wall indicators and UTC/local indicators

From: Ken Murchison <[email-masked]>
Date: Fri, 1 Jun 2018 09:09:49 -0400

On 05/28/2018 06:43 PM, Paul Eggert wrote:
> On 05/28/2018 02:14 AM, Eliot Lear wrote:
>>
>>  1. The text is a bit unclear as to how to index to the right value
>>     of std/wall or utc/local.  I read them as tied to the transition
>>     time index, but (a) I could be wrong and (b) we should be
>>     explicit.  Similarly, in what circumstances would it be true
>>     where typecnt, isdstcnt, and isutccnt would differ?
>>
>
> Applications use the type field to index those two tables. isutccnt 
> must always be either zero, or equal to typecnt. Similarly for 
> isstdcnt. When these two values are zero, it is as if the 
> corresponding array of flags contain only zeros. Of course we should 
> put all this into the spec.
>
>
>>  1. We should be a bit more clear about how std/wall and utc/local
>>     are used.  Specifically, what if the UTC/local indicator is set
>>     to 1?  Should one have any reason to reference std/wall?
>>
>
> The only reason to use either field is if the user has specified a TZ 
> value like "AKST9AKDT" that (1) is not the name of a TZif file, and 
> (2) is a POSIX TZ setting that asks for DST but does not specify when 
> the DST transitions are. When this happens, an application is expected 
> to transform the transitions of an implementation-specific TZif file 
> (America/New_York, say) into transitions appropriate for the requested 
> TZ setting. To do this, the app needs to know whether the New York 
> transitions were the result of rules that specified UTC (as EU rules 
> do) or local  time (as US rules do) or standard time (as New Zealand 
> rules do). The two bits of the two flags in question provide enough 
> information to tell applications which of the three possibilities 
> apply. (There are three possibilities not four; if the utc flag is set 
> the std flag must also be set; no doubt the TZif spec should say that 
> too.)

How does this sound?

A given pair of standard/wall and UT/local indicators is used to 
designate whether the corresponding transition time has been specified 
as UT, standard time, or wall clock time.  Note that there are only 
three combinations of the two indicators given that the standard/wall 
value MUST be one (1) if the UT/local value is one (1).  This 
information can be useful if the transition times in a TZif file need to 
be transformed into transitions appropriate for another time zone (e.g. 
when calculating transition times for a simple POSIX TZ string such as 
"AKST9AKDT").

-- 
Ken Murchison
Cyrus Development Team
FastMail US LLC

---

From: Paul Eggert <[email-masked]>
Date: Fri, 1 Jun 2018 07:00:50 -0700

Ken Murchison wrote:
> A given pair of standard/wall and UT/local indicators is used to designate 
> whether the corresponding transition time has been specified as UT, standard 
> time, or wall clock time.  Note that there are only three combinations of the 
> two indicators given that the standard/wall value MUST be one (1) if the 
> UT/local value is one (1).  This information can be useful if the transition 
> times in a TZif file need to be transformed into transitions appropriate for 
> another time zone (e.g. when calculating transition times for a simple POSIX TZ 
> string such as "AKST9AKDT").

Thanks, that's much better than what I wrote.