[tz] tzfiles contain Unix epoch for the first transition time

Robert Elz kre at munnari.OZ.AU
Fri Aug 14 14:44:28 UTC 2015


    Date:        Fri, 14 Aug 2015 12:55:20 +0100
    From:        Ian Abbott <abbotti at mev.co.uk>
    Message-ID:  <55CDD728.7040401 at mev.co.uk>

  | If the initial transitions are also missing in Eric's tzfiles, perhaps 
  | the bug is related to that.

After I sent the last message, I wondered if perhaps the system Eric
used represented times in (fixed point) Java type notation, in milliseconds
since the epoch, rather than seconds - but even with that form, the big
bang timestamp doesn't overflow 64 bits (though it gets very close, just
2 non-zero bits remain, the sign, and the most significant bit).   Of
course so many meaningful bits are lost the value would be nonsense, but not 0.

Even moving the epoch back to 1900 (which some systems do) doesn't affect
anything (if my back of the envelope calculation is right, the epoch would
need to move back over 9 billion years - 2/3 of the way to the big bang,
for a millisecond counter to produce 0 for the unix style big bang timestamp).
[Do not rely upon, nor quote off this list, that value - I did not verify.]

Of course, if the internal representation is microseconds (or any more
precise unit) since the epoch (1970 or anything else plausible) then
the big bang would (if overflow protection isn't perfect) turn into 0.

In any of those representations, very recent times, like 1883, fit in
64 bits just fine.

kre



More information about the tz mailing list