Inconsistency in zoneinfo binary files?
Olson, Arthur David (NIH/NCI) [E]
olsona at dc37a.nci.nih.gov
Mon Aug 16 13:38:43 UTC 2010
> I am having trouble in comprehending the zoneinfo binary files: I have a
> version 2 file for Amsterdam which gives me 180 transition times and 13
> transition types in the first block (all of which look fine to me). But
> the second block yields 181 transition times and 14 transition types.
> The additional transition time is 1971-02-07T06:08:44, which seems
> rather weird to me.
That's not a bug, it's a feature.-) The key line in the "europe" data file is...
Zone Europe/Amsterdam 0:19:32 - LMT 1835
...which tells us that the Netherlands changed its clocks from local mean time
(different from town to town) to Amsterdam time (throughout the country) at the start of 1835.
1835 is so far in the past that it can't be represented by a 32-bit time_t value, but it can be represented by a 64-bit value (as can any instant all the way back to the Big Bang). So the 1835 transition can't be recorded in the first (32-bit) section of the compiled time zone data file, but can be recorded in the second (64-bit) section.
(The "1971-02-07" comes about when the 1835 transition time is truncated to its low-order 32 bits and fed through 32-bit software.)
More information about the tz