On Jul 21, 2015, at 11:09 AM, Howard Hinnant <howard.hinnant@gmail.com> wrote:
On Jul 21, 2015, at 10:47 AM, Jon Skeet <skeet@pobox.com> wrote:
I suspect this is just a matter of how the data has been specified, but it's a little odd...
I'm looking at the output of zic for each zone, and almost all zones start with a "transition" for some timestamp in the long distant past - including fixed zones such as UTC and Etc/*.
However, the legacy "root" zones of CET, EET, PST8PDT etc don't have this initial "transition" in the file - unless I'm misinterpreting it, which is always a possibility.
Would it make sense to adjust either the data or zic to make all zic output (in the 8-byte-timestamp format, at least) cover all of time? I realize that this "extra" data (presumably an insertion of "standard time until the first transition") may well not be historically accurate - but I doubt that it would be any less accurate than other zones in a similar situation.
Just zeroing in on PST8PDT, it looks to me like its initial state (from the beginning of time) is unambiguously:
-08:00:00 standard PST
I get this by using:
Zone PST8PDT -8:00 US P%sT
And “falling off the beginning” of the US Rule list (by finding the first Rule with 0 save):
Rule US 1918 1919 - Oct lastSun 2:00 0 S
And subsequently its first transition is determined by this this Rule: Rule US 1918 1919 - Mar lastSun 2:00 1:00 D PST8PDT Initially: -08:00:00 standard PST 1918-03-31T10:00:00Z -07:00:00 daylight PDT 1918-10-27T09:00:00Z -08:00:00 standard PST 1919-03-30T10:00:00Z -07:00:00 daylight PDT … Howard