В вашем типичном * nix-окне есть более тысячи файлов часовых поясов (в / user / share / zoneinfo). Многие из них различаются только историческими датами, которые не имеют большого значения для программ, которые заботятся только о последних датах или даже только о текущем времени. Но, несмотря на это, их существует масса, и совершенно законно выбрать любой из них в качестве часового пояса для вашей системы, а также использовать любой из них для конкретной программы или оболочки, установив переменную среды TZ. Они все действительны.
И еще есть файл zone.tab (/usr/share/zoneinfo/zone.tab). В нем перечислены только чуть более 400 часовых поясов (414 в моей системе). Здесь не хватает многих часовых поясов. Итак, вопрос почему? Почему они не все там? И так как они не все там, как это решается, какие из них помещены туда?
zone.tab содержит код страны, а также долготу и широту для каждого часового пояса, который он перечисляет (что, по-видимому, и является причиной существования файла), и не во всех часовых поясах есть такие (например, в UTC таких нет). и он не находится в zone.tab), поэтому ясно, что не каждый часовой пояс может быть указан в zone.tab. Но почему в файле не указаны все те, которые соответствуют фактическому городу или региону (как большинство из них)? Почему только 414 вместо 1000+, которые на самом деле доступны?