Làm thế nào chính xác là cơ sở dữ liệu tzdata được sử dụng?


10

Các hệ điều hành khác nhau dường như xử lý thời gian tiết kiệm ánh sáng ban ngày (DST) khác nhau. Tôi thực sự thích cách tiếp cận Cisco IOS rất đơn giản và cho phép một người thay đổi ngày và giờ khi DST bắt đầu và kết thúc. Ví dụ:

clock summer-time EDT recurring 2 Sun Mar 2:00 1 Sun Nov 2:00 60

.. đặt đồng hồ trước 60 phút vào Chủ nhật tuần thứ hai của tháng 3 lúc 2:00 và chuyển đồng hồ 60 phút trở lại vào Chủ nhật đầu tiên vào tháng 11 lúc 2:00. Linux xử lý DST như thế nào? Tôi biết rằng có một tzdatagói chứa các tệp dữ liệu múi giờ và các tệp đó được cài đặt vào /usr/share/zoneinfo/thư mục. Làm thế nào và bằng những tiện ích nào là những tập tin được sử dụng? Tôi có thể thấy sự thay đổi từ UTC (2) và tên múi giờ (EET và EEST) trong tệp:

T60:~# strings /usr/share/zoneinfo/posix/Europe/Helsinki
TZif2
    HMT
EEST
TZif2
EEST
EET-2EEST,M3.5.0/3,M10.5.0/4
T60:~# 

Ngoài ra, M3có lẽ là tháng thứ ba và M10là tháng thứ mười? Ngoài ra, bù cũng nên được chỉ định ở đâu đó. Ví dụ, trong iOS, người ta có thể định cấu hình rằng một khi DST xảy ra, đồng hồ sẽ dịch chuyển ví dụ 90 hoặc 120 phút thay vì 60.

Câu trả lời:


4

Nếu bạn xem trang Wikipedia về cơ sở dữ liệu TZ :

đoạn trích

Định dạng tệp

Cơ sở dữ liệu tz được xuất bản dưới dạng tập hợp các tệp văn bản liệt kê các quy tắc và chuyển vùng theo định dạng có thể đọc được. Để sử dụng, các tệp văn bản này được biên dịch thành một tập hợp các tệp nhị phân độc lập với nền tảng, mỗi nhóm một múi giờ. Mã nguồn tham chiếu bao gồm một trình biên dịch gọi là zic (trình biên dịch thông tin vùng), cũng như mã để đọc các tệp đó và sử dụng chúng trong các API tiêu chuẩn như localtime () và mktime ().

Tìm kiếm bổ sung đã bật lên Hỏi & Đáp này trên stackoverflow, có tiêu đề: Câu hỏi định dạng tệp cơ sở dữ liệu múi giờ , trong đó có thông tin bổ sung về định dạng tệp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.