Có hơn một nghìn tệp múi giờ trên hộp * nix điển hình của bạn (in / user / share / zoneinfo). Nhiều người trong số họ chỉ khác nhau trong các ngày lịch sử ít liên quan đến các chương trình chỉ quan tâm đến những ngày gần đây - hoặc thậm chí chỉ về thời gian hiện tại. Nhưng bất kể, có rất nhiều trong số chúng, và hoàn toàn hợp pháp khi chọn bất kỳ trong số chúng làm múi giờ cho hệ thống của bạn cũng như sử dụng bất kỳ trong số chúng cho một chương trình hoặc trình bao cụ thể bằng cách đặt biến môi trường TZ. Tất cả đều hợp lệ.
Và sau đó có tệp zone.tab (/usr/share/zoneinfo/zone.tab). Nó chỉ liệt kê một chút hơn 400 múi giờ (414 trên hệ thống của tôi). Nó thiếu rất nhiều múi giờ. Vì vậy, câu hỏi là tại sao? Tại sao không có tất cả trong đó? Và vì họ không có tất cả trong đó, làm thế nào quyết định cái nào được đưa vào đó?
area.tab không bao gồm mã quốc gia, cũng như kinh độ và vĩ độ cho từng múi giờ mà nó liệt kê (có lẽ là lý do cho sự tồn tại của tệp) và không phải tất cả các múi giờ đều có (ví dụ: UTC không có các múi giờ đó) và nó không nằm trong area.tab), vì vậy, rõ ràng, không phải mọi múi giờ đều có thể được liệt kê trong zone.tab. Nhưng tại sao không phải tất cả những nơi tương ứng với một thành phố hoặc khu vực thực tế (như hầu hết trong số họ làm) được liệt kê trong tệp? Tại sao chỉ có 414 thay vì 1000+ thực sự có sẵn?