Tiếng Việt

Công cụ dành cho nhà phát triển · Trình chuyển đổi dấu thời gian Unix

Một dấu thời gian, hai đồng hồ: tại sao UTC và giờ địa phương khác nhau trong một kỷ nguyên

· Cách thức hoạt động

dấu thời gian unix-time time-zones

Một khoảnh khắc duy nhất được kết nối với hai đồng hồ có kim khác nhau
Hình minh họa vector ToolAcre gốc

Giá trị kỷ nguyên đặt tên ngay lập tức, nhưng thời gian trên đồng hồ treo tường bạn nhìn thấy tùy thuộc vào vị trí của bạn. Bài đăng này giải thích số học bù trừ, tại sao ngày có thể khác nhau và tại sao trình chuyển đổi hiển thị cả hai số đọc.

Khách hàng nói 9 sáng, nhật ký cho biết 16:00 — cùng một sự kiện, hai đồng hồ và một phiếu hỗ trợ chẳng đi đến đâu

Yêu cầu hỗ trợ có thể bị đình trệ khi một người báo cáo "chín giờ sáng" trong khi nhật ký ứng dụng ghi lại 16:00. Không có nhãn đồng hồ nào xác định một sự kiện cho đến khi biết được vùng hoặc độ lệch của nó. Nếu cả hai tham chiếu đều giải quyết cùng một kỷ nguyên, việc tìm kiếm độ trễ xử lý bảy giờ sẽ lãng phí việc điều tra về sự khác biệt hiển thị.

Bắt đầu bằng cách thu thập dấu thời gian thô và bối cảnh vùng của từng người quan sát. ToolAcre hiển thị UTC và kết quả đọc cục bộ trên trình duyệt từ một chuyển đổi, do đó, người giữ nhật ký sẽ có kết quả so sánh ngay lập tức. Đồng nghiệp ở nơi khác nên so sánh giá trị ISO được chia sẻ, không cho rằng hàng cục bộ của người đầu tiên áp dụng cho máy của họ.

Một kỷ nguyên là một khoảnh khắc, không phải là thời gian trên đồng hồ treo tường — số giây kể từ 1970 không có vùng riêng

Một kỷ nguyên là khoảng cách từ 1970-01-01T00:00:00Z tính bằng giây hoặc mili giây. Nó không chứa thành phố, cờ tiết kiệm ánh sáng ban ngày hoặc ký hiệu đồng hồ ưa thích. Do đó, giá trị 1,700,000,000 xác định một thời điểm; các nhãn như tối thứ Ba hoặc sáng thứ Tư là những dự đoán được thực hiện sau khi chọn cách đọc ngay lập tức đó.

Đây là lý do tại sao việc lưu trữ một “kỷ nguyên cục bộ” đã sửa lại là một lỗi danh mục. Việc thêm phần bù sẽ thay đổi số lượng và điểm vào thời điểm khác. Lưu trữ hoặc truyền tải tức thời bản gốc, sau đó áp dụng quy tắc đọc ở rìa nơi một người cần lịch. ToolAcre tuân theo hình dạng đó bằng cách giữ nguyên số giây và mili giây bên cạnh kết quả đầu ra được định dạng.

Cách áp dụng mức chênh lệch — cộng hoặc trừ giờ và phút, vùng nửa giờ và 45 phút cũng như mức chênh lệch thay đổi trong năm

Đối với độ lệch cố định, phép tính số học rất đơn giản: UTC+09:00 hiển thị đồng hồ trước chín giờ so với UTC, trong khi UTC−05:00 hiển thị đồng hồ chậm hơn năm giờ. Các phần của một giờ được xử lý dưới dạng phút, do đó khoảng chênh lệch 45 phút không được thể hiện một cách an toàn bằng cách làm tròn đến số nguyên giờ. Dấu hiệu thuộc về số đọc cục bộ được hiển thị.

Phần bù cố định vẫn chỉ là một quan sát. ToolAcre yêu cầu Intl về mức chênh lệch áp dụng cho thời điểm đã chọn trong vùng hiện tại của trình duyệt. Nó không cho rằng khoản bù đắp ngày hôm nay được áp dụng trong suốt cả năm. Do đó, việc sao chép một phần bù vào cấu hình ứng dụng có thể có vẻ chính xác trong quá trình thử nghiệm và không thành công khi quy tắc áp dụng của môi trường thay đổi.

Khi ngày cũng thay đổi — thời điểm gần nửa đêm rơi vào các ngày theo lịch khác nhau ở UTC và tại địa phương

Số học đồng hồ có thể vượt qua ranh giới lịch. Một khoảnh khắc tại 00:20 UTC xuất hiện vào ngày trước đó dưới mức chênh lệch âm và sau đó cùng ngày đó dưới mức chênh lệch dương. Do đó, vé chỉ ghi "ngày 14" có thể đề cập đến các phần khác nhau của nhật ký UTC, ngay cả khi cả hai người tham gia đều nhớ chính xác lịch của mình.

Sử dụng đầy đủ ngày, giờ và offset khi bàn giao sự kiện giữa các đội. Hàng ISO của trình chuyển đổi ngăn không cho ngày bị tách khỏi UTC, trong khi hàng cục bộ cung cấp ngữ cảnh quen thuộc. Nếu sự cố kéo dài đến nửa đêm, hãy sắp xếp các mục nhập theo kỷ nguyên hoặc UTC thay vì sắp xếp các nhãn người được viết ở nhiều vùng.

Ví dụ đã hoạt động: 1700000000 trong UTC, trong vùng UTC+9 và trong vùng UTC−5 — số học được viết ra và ngày tháng được so sánh

Bài viết đơn vị đã xuất bản hiện tại xác nhận rằng 1,700,000,000 giây là `2023-11-14T22:13:20.000Z`. Với chỉ số +09:00 cố định, hãy thêm chín giờ để nhận được 2023-11-15 07:13:20; dưới mức cố định −05:00, trừ đi năm giờ để nhận được 2023-11-14 17:13:20. Ngày chỉ thay đổi ở ví dụ phía đông.

Hai số liệu chênh lệch này là minh chứng số học, không phải tuyên bố về các thành phố được đặt tên vào ngày đó. Hàng cục bộ ToolAcre phải được phép báo cáo mọi nguồn cung cấp Intl bù đắp cho vùng trình duyệt thực tế. So sánh nó với giá trị UTC và ghi lại giá trị bù được hiển thị thay vì buộc giá trị minh họa vào kết quả.

Ví dụ đã hoạt động: một kỷ nguyên trong UTC, sau đó là hai số đọc có độ lệch cố định rõ ràng

Hiển thị cả hai bài đọc sẽ loại bỏ phép trừ tinh thần khỏi phiên gỡ lỗi. Nhóm máy chủ có thể trích dẫn UTC, trong khi người tái tạo sự cố có thể nhận ra đồng hồ địa phương mà họ đã nhìn thấy. Bởi vì cả hai hàng đều bắt nguồn từ một Ngày, nên số giây và mili giây trùng khớp chứng tỏ chúng chưa được chỉnh sửa độc lập hoặc làm tròn thành các sự kiện riêng biệt.

Cặp này đặc biệt hữu ích trong ảnh chụp màn hình: bao gồm ghi chú đơn vị và hàng ISO thay vì cắt xén theo giá trị cục bộ quen thuộc. Đồng hồ bị cắt có thể được giải thích lại sau khi di chuyển hoặc thay đổi cài đặt vùng. Kỷ nguyên cộng với ISO vẫn ổn định và kết xuất cục bộ giải thích trải nghiệm người dùng mà không thay thế tham chiếu ổn định đó.

Điều này không bao gồm những thay đổi bù trừ lịch sử và các quyết định múi giờ chính trị, nằm trong cơ sở dữ liệu tz chứ không phải trong số học

Phép cộng đơn giản không thể mô tả một vùng khu vực có độ lệch áp dụng khác nhau. Trình chuyển đổi ủy quyền định dạng cục bộ cho Intl, nhưng kho lưu trữ của nó không hiển thị bảng quy tắc cơ bản hoặc các quyết định lịch sử. Do đó, bài viết này không liệt kê những thay đổi trong quá khứ, dự đoán chính sách trong tương lai hoặc hứa hẹn kết quả đầu ra giống hệt nhau từ các công cụ mang dữ liệu khác nhau.

Khi một ứng dụng phải lên lịch “09:00 ở nơi này”, hãy giữ lại vùng đã đặt tên và sử dụng thiết kế lập lịch nhận biết vùng. Khi cần ghi “yêu cầu này đã xảy ra ngay bây giờ”, hãy giữ lại ngay lập tức. Đó là những yêu cầu dữ liệu khác nhau. `+02:00` cố định có thể mô tả chỉ số đọc ngay lập tức mà không cần xác định quy tắc khu vực đã tạo ra chỉ số đó.

Số học bù cố định không thể tái tạo các quy tắc khu vực đang thay đổi

Hãy coi kỷ nguyên như một chiếc ghim xuyên suốt dòng thời gian và các mặt đồng hồ như những nhãn được đặt xung quanh nó. UTC cung cấp nhãn chung; định dạng cục bộ cung cấp một cách thuận tiện. ToolAcre trình bày cả hai mà không sửa đổi mã pin, đó là lý do tại sao dự kiến ​​sẽ có sự chênh lệch về số giờ thay vì bằng chứng về thời gian đã mất.

Đối với sự kiện bị tranh chấp, hãy dán số liệu thô, nêu rõ đơn vị và chia sẻ kết quả ISO. Sau đó chỉ đính kèm các bài đọc địa phương dưới dạng chú thích. Thứ tự đó biến “đồng hồ của tôi so với của bạn” thành một bản đồ có thể kiểm tra được và giữ cho các thay đổi về ranh giới ngày không bị giả mạo thành các sự kiện vào những ngày khác nhau.