Vui vẻ về các múi giờ trên thế giới

VẤN ĐỀ CỦA CÁC MÚI GIỜ

(Bài viết vui vẻ vì lần này admin lệch múi giờ giữa team dữ quá)

Một ngày nọ, có một lập trình viên tạo ra một ứng dụng giúp tính số giây từ một thời điểm trong quá khứ. Ban đầu, ứng dụng này hoạt động tốt cho anh ta. Nhưng sau đó, một số khách hàng từ khắp nơi trên thế giới gọi đến với các múi giờ khác nhau và đòi thay đổi múi giờ.

Ban đầu, có khách hàng từ Australia gọi điện và nói rằng họ đang trễ Greenwich 9 giờ và một nửa. Lập trình viên đã thêm một trường hợp đặc biệt để giải quyết vấn đề này. Một lúc sau, khách hàng từ Nepal gọi và nói rằng họ trễ Greenwich 5 giờ và một phân nửa. Lại một lần nữa, lập trình viên thêm một trường hợp đặc biệt.

Từ đó, chàng lập trình viên đã xem danh sách múi giờ và đảm bảo đã bao gồm tất cả các múi giờ trên thế giới. Nhưng khi mùa thu đến, nước Anh gọi điện và nói rằng giờ hiện tại của họ chênh lệch một giờ so với giờ chuẩn. Lập trình viên đã phải xử lý việc thay đổi giờ tiết kiệm ánh sáng ban ngày một tuần trước so với nước Anh.

Sau đó, một khách hàng ở bán cầu nam gọi điện và nói rằng họ không thay đổi giờ trở lại như bình thường mà thay vào đó di chuyển tiến lên. Họ có mùa xuân vào tháng 11. Anh đã cố gắng thêm các trường hợp đặc biệt để xử lý điều này.

Rồi đến lúc khách hàng từ Samoa gọi. Họ nói rằng họ đã bỏ qua một ngày trong quá khứ để chuyển từ phía đông sang phía tây của ngày quốc tế. Anh đã thêm một tính năng để tính số ngày và số giây từ thời điểm hiện tại, bao gồm cả thay đổi này.

Càng ngày càng phức tạp hơn, lập trình viên nhìn vào các tài liệu và nhận thấy rằng nước Anh đã áp dụng Giờ Mùa Hè kép trong Thế chiến II. Họ cần xử lý cả trường hợp này.

Tiếp theo, một nhà sử học gọi điện và yêu cầu tính toán các thời điểm trong thế kỷ 18. Họ nói rằng nước Anh đã chuyển từ lịch Julius sang lịch Gregorian và bỏ qua ba tuần trong quá trình đó. Lập trình viên đã thêm tính năng này vào ứng dụng.

Một ngày nọ, một nhà vật lý thiên văn gọi điện và nói rằng họ đã thêm một giây nhảy (leap second). Anh bị sốc và thêm tính năng này vào ứng dụng.

Cuối cùng, một nhà sử học từ Nga gọi và nói rằng họ chỉ chuyển sang lịch Gregorian trong thế kỷ 20 và các ngày bị bỏ qua phụ thuộc vào địa điểm. Lập trình viên cảm thấy mình rơi vào hỗn loạn với các sự kiện khác nhau.

Cuối cùng, lập trình viên hiểu rằng việc giải quyết các múi giờ là một công việc phức tạp. Thay vì tự viết mã, anh tìm các nguồn mã mở đã được xây dựng từ trước đó và áp dụng vào ứng dụng của mình. Anh ấy nhận ra rằng tạo ra một giải pháp hoàn hảo cho múi giờ là không khả thi và quyết định ngừng làm việc về vấn đề đau não này.
#j2team_share
Lấy cảm hứng từ một video trên YouTube mang tên "The Problem with Time & Timezones" của kênh Computerphile.
Nguồn ảnh: Wikipedia.

Đăng nhận xét

Mới hơn Cũ hơn

POST ADS1

POST ADS 2