Il y a plus d'un millier de fichiers de fuseau horaire sur votre boîte * nix typique (dans / user / share / zoneinfo). Beaucoup d'entre eux ne varient que par des dates historiques qui ont peu de pertinence pour les programmes qui ne se soucient que des dates récentes - ou même uniquement de l'heure actuelle. Mais peu importe, il y en a une tonne, et il est parfaitement légal de sélectionner l'un d'eux comme fuseau horaire pour votre système ainsi que d'utiliser l'un d'eux pour un programme ou un shell spécifique en définissant la variable d'environnement TZ. Ils sont tous valides.
Et puis il y a le fichier zone.tab (/usr/share/zoneinfo/zone.tab). Il ne répertorie qu'un peu plus de 400 fuseaux horaires (414 sur mon système). Il manque beaucoup de fuseaux horaires. Donc la question est pourquoi? Pourquoi ne sont-ils pas tous là-dedans? Et comme ils ne sont pas tous là-dedans, comment décide-t-on lesquels sont placés là-dedans?
zone.tab inclut un code de pays ainsi que la longitude et la latitude pour chaque fuseau horaire qu'il répertorie (ce qui est probablement la raison de l'existence du fichier), et tous les fuseaux horaires n'ont pas vraiment ceux-ci (par exemple, UTC n'a pas ces , et ce n'est pas dans zone.tab), donc clairement, tous les fuseaux horaires ne peuvent pas être répertoriés dans zone.tab. Mais pourquoi toutes celles qui correspondent à une ville ou une région réelle (comme la plupart d'entre elles) ne sont-elles pas répertoriées dans le fichier? Pourquoi seulement 414 au lieu des 1000+ qui sont réellement disponibles?