- Múi giờ rất phức tạp, nhưng vì máy tính phải triển khai chúng nên mức độ kỳ lạ chỉ nằm trong một phạm vi hữu hạn.
Asia/Kathmandu có độ lệch bất thường so với UTC.
Africa/Casablanca không khớp tốt với mô hình múi giờ nên được hard-code.
America/Nuuk bắt đầu giờ mùa hè từ -01:00.
Africa/Cairo và America/Santiago bắt đầu giờ mùa hè vào 24 giờ (không phải 0 giờ).
Australia/Lord_Howe có quy tắc giờ mùa hè kỳ lạ nhất.
PGXIIREAM: Giáo hoàng Gregory XIII chi phối mọi thứ
- Phần lớn thế giới sử dụng hệ thống thời gian dựa trên lịch Gregory.
- Lịch Gregory rất hữu ích trong việc giữ vị trí của mặt trời ổn định theo năm.
- UTC là sự chính thức hóa hiện đại của lịch Gregory, và cả thế giới đặt thời gian dựa trên chuẩn này.
Giây nhuận không quan trọng
- Sự quay của Trái Đất đang chậm lại nên người ta thêm giây nhuận để bù lại.
- Có thể bỏ qua giây nhuận vì các ngôn ngữ lập trình không biểu diễn 61 giây.
- Các nhà cung cấp cloud giải quyết vấn đề bằng cách cho đồng hồ chạy chậm lại trong thời gian có giây nhuận.
Những múi giờ kỳ lạ
Asia/Kathmandu có độ lệch bất thường
- Nepal đi trước UTC 5 giờ 45 phút.
- Máy tính có thể biết thông tin này thông qua cơ sở dữ liệu múi giờ IANA.
Các chuỗi như PDT hay CET không có nhiều ý nghĩa
- Định danh múi giờ có thể mơ hồ, và nhiều múi giờ cùng chia sẻ một định danh.
Múi giờ có giờ mùa hè được biểu diễn như thế nào?
- Quy tắc chuyển sang giờ mùa hè rất phức tạp, và máy tính tính giờ địa phương dựa trên đó.
Africa/Casablanca và Asia/Gaza đi theo mặt trăng, còn múi giờ đi theo mặt trời
- Morocco và Gaza điều chỉnh giờ mùa hè theo Ramadan, nên điều này được hard-code.
America/Nuuk chuyển sang giờ mùa hè lúc -1 giờ
- Greenland bắt đầu giờ mùa hè cùng thời điểm với châu Âu, nhưng theo giờ địa phương thì là lúc -1 giờ.
America/Santiago và Africa/Cairo chuyển đổi vào 24 giờ
- Các múi giờ này chuyển sang giờ mùa hè vào 24 giờ, tức là bước sang ngày hôm sau.
Australia/Lord_Howe có lần chuyển giờ mùa hè kỳ lạ nhất
- Đảo Lord Howe có bước chuyển giờ mùa hè 30 phút.
Tóm tắt của GN⁺
- Múi giờ rất phức tạp, nhưng vì máy tính phải triển khai chúng nên mức độ kỳ lạ chỉ nằm trong một phạm vi hữu hạn.
Australia/Lord_Howe là múi giờ độc đáo nhất với bước chuyển giờ mùa hè 30 phút.
- Bài viết này hữu ích để hiểu sự phức tạp của múi giờ và có thể khiến lập trình viên thấy thú vị.
- Một dự án có chức năng tương tự là
tzdb.
1 bình luận
Ý kiến trên Hacker News
Cơ sở dữ liệu tz không tính các lần chuyển đổi múi giờ trước Vụ Nổ Lớn. Dấu thời gian trước Vụ Nổ Lớn là điều đáng nghi về mặt vật lý
Múi giờ Châu Phi/Addis_Ababa không được bất kỳ ai ở Ethiopia tuân theo
Việc các ngôn ngữ lập trình không thể biểu diễn phút có 61 giây là không đúng
DateTime.pmcủa Perl 5 cũng hỗ trợ giây nhuận, điều này làm tăng độ phức tạpMúi giờ Châu Á/Jerusalem phức tạp do các vấn đề tôn giáo và quốc gia
Kinh nghiệm viết hàm tìm giờ địa phương dựa trên địa chỉ ở Mỹ
Múi giờ của Palestine là mỗi năm chính phủ công bố thời điểm bắt đầu và kết thúc giờ tiết kiệm ánh sáng ban ngày mà không có ngày cố định
Bài đọc thú vị về tính linh hoạt của phần mềm múi giờ
Khi chính phủ bãi bỏ giờ tiết kiệm ánh sáng ban ngày rồi năm sau lại dịch chuyển múi giờ thì sẽ gây hỗn loạn
Cơ sở dữ liệu tz là diff của diff ghi lại chênh lệch với UTC
Chênh lệch giờ tiết kiệm ánh sáng ban ngày 30 phút không phải là múi giờ kỳ lạ nhất