Ci sono oltre un migliaio di file di fuso orario nella tipica casella * nix (in / user / share / zoneinfo). Molti di essi variano solo in date storiche che hanno poca rilevanza per i programmi che si occupano solo di date recenti - o anche solo dell'ora corrente. Ma a prescindere, ce ne sono un sacco, ed è perfettamente legale selezionarne uno come fuso orario per il proprio sistema, nonché usarne uno per un programma o una shell specifici impostando la variabile d'ambiente TZ. Sono tutti validi.
E poi c'è il file zone.tab (/usr/share/zoneinfo/zone.tab). Elenca solo poco più di 400 fusi orari (414 sul mio sistema). Manca un sacco di fusi orari. Quindi, la domanda è: perché? Perché non sono tutti lì? E dal momento che non sono tutti lì, come si decide quali vengono messi lì?
zone.tab include un codice paese e anche la longitudine e la latitudine per ogni fuso orario che elenca (che presumibilmente è il motivo dell'esistenza del file), e non tutti i fusi orari ne hanno davvero (ad esempio UTC non ha quelli e non è in zone.tab), quindi chiaramente non tutti i fusi orari possono essere elencati in zone.tab. Ma perché non tutti quelli che corrispondono a una città o regione (come la maggior parte di loro) sono elencati nel file? Perché solo 414 invece dei 1000+ che sono effettivamente disponibili?