[tz] zone.tab / zone1970.tab inconsistency for TF/UM/VN

Paul Eggert eggert at cs.ucla.edu
Fri Mar 31 20:03:59 UTC 2017

Neil Fuller via tz wrote:

> I expect the exact zone IDs to be different, but there are only a few cases
> where countries differ in the number of referenced zone IDs.

These discrepancies come up because zone.tab tries to be compatible with the old 
tz rules, whereas the rest of the data follow the new rules (and zone1970.tab 
reflects the new rules). The old rules weren't as well documented, I'm afraid, 
so this is a bit of a murky area.

> I realize that zone.tab is intended for backward compatibility but it looks
> like it is being well maintained.

Yes, zone.tab is still quite commonly used. How long this will continue to be 
true is anybody's guess. Perhaps until the next political crisis....

> zone.tab:
> TF -492110+0701303 Indian/Kerguelen
> zone1970.tab:
> RE,TF -2052+05528 Indian/Reunion Réunion, Crozet, Scattered Islands
> TF -492110+0701303 Indian/Kerguelen Kerguelen, St Paul Island, Amsterdam
> Island

In theory according to the old rules, there should be two zones for TF: the 
existing one and another zone for Crozet and the Scattered Islands.  The new 
rules say that we don't need the latter zone, as it's identical to 
Indian/Reunion since 1970. (And thank goodness! hardly anyone lives on Crozet 
etc., and info about civil time there is hard to come by.)

zone.tab approximates the old rules with the new data as best it can. It doesn't 
use Indian/Reunion under TF as I expect consumers of zone.tab expect zone.tab to 
be a 1-1 relation.

> zone.tab:
> UM +2813-17722 Pacific/Midway Midway Islands
> UM +1917+16637 Pacific/Wake Wake Island
> zone1970.tab:
> AS,UM -1416-17042 Pacific/Pago_Pago Samoa, Midway
> UM +1917+16637 Pacific/Wake Wake Island
> US,UM +211825-1575130 Pacific/Honolulu Hawaii

The Pacific/Honolulu link is to UM as Indian/Reunion is to TF. That is, it 
stands for minor islands that would need a separate zone under the old rules, 
but not for the new ones. Johnston Island comes to mind.

Pacific/Midway is an old-fashioned alias for Pacific/Pago_Pago, so zone.tab uses 
it to preserve the illusion that it's 1-1. It can't do this for TF and 
Indian/Reunion as the latter has no aliases. We don't create aliases merely to 
do minor cleanups of zone.tab for backward-compatibility purposes.

> zone.tab:
> VN +1045+10640 Asia/Ho_Chi_Minh
> zone1970.tab:
> TH,KH,LA,VN +1345+10031 Asia/Bangkok Indochina (most areas)
> VN +1045+10640 Asia/Ho_Chi_Minh Vietnam (south)

Asia/Bangkok is to VN as Indian/Reunion is to TF. It stands for part of Vietnam 
that would need a separate zone under the old rules, but not the new ones. The 
region in question is the old North Vietnam. It has no aliases, so zone.tab 
doesn't use it under VN.

More information about the tz mailing list