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

UTC, GMT và TAI: dấu thời gian nào của bạn thực sự đang được tính

· Lý lịch

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

Ba bản nhạc theo thang thời gian song song với bản nhạc chuyển đổi Unix được làm nổi bật
Hình minh họa vector ToolAcre gốc

GMT, UTC và TAI thường được coi là từ đồng nghĩa nhưng chúng là ba thứ khác nhau với lịch sử khác nhau. Bài đăng này giải thích từng cái và bộ chuyển đổi thời gian và hàng ngày Unix nào trong số chúng thực sự tuân theo.

Ba tên trên một máy chủ — GMT trong tiêu đề Ngày, UTC trong nhật ký và TAI trong một bài nghiên cứu, tất cả đều trong cùng một giây

Máy chủ có thể hiển thị “GMT” trong một giao thức, “UTC” trong nhật ký và thang thời gian khác trong dữ liệu khoa học. Các nhãn đồng hồ tương tự không cho phép thay thế lẫn nhau. Nhiệm vụ đầu tiên là xác định hợp đồng đằng sau mỗi trường thay vì đổi tên mọi thứ UTC trong lớp trình bày.

Hợp đồng của ToolAcre rất rõ ràng: giây hoặc mili giây Unix trở thành chuỗi ISO 8601 UTC, hàng UTC có thể đọc được và hàng cục bộ trên trình duyệt. Nó không có bộ chọn tỷ lệ. Bất kỳ số lượng không phải Unix nào đều phải được chuyển đổi bằng cách sử dụng định nghĩa có thẩm quyền của chính nó trước khi lộ trình này có liên quan.

Một bản kiểm kê hữu ích ghi lại tỷ lệ và số thứ tự bên cạnh mỗi trường. Các nhãn tương tự không được xóa xuất xứ, đặc biệt khi dữ liệu được truyền qua các hệ thống khoa học và ứng dụng.

Giờ chuẩn Greenwich - có nghĩa là giờ mặt trời tại kinh tuyến, lịch sử của nó là tham chiếu của thế giới và tại sao bây giờ nó là múi giờ chứ không phải là tiêu chuẩn

Đề cương cung cấp lịch sử của Giờ chuẩn Greenwich và cách sử dụng hợp pháp hiện đại. Những dữ kiện đó không có trong cấu hình, nguồn hoặc thử nghiệm của trình chuyển đổi. Do đó, bài viết này không biến kho lưu trữ mã thành một trích dẫn lịch sử bằng suy luận.

Về mặt hoạt động, nếu đầu vào cho biết GMT, hãy kiểm tra giao thức xác định. Nhãn đồng hồ xuất hiện tương đương với ngày nộp đơn thông thường vẫn có thể mang các yêu cầu chính sách hoặc ngữ pháp cụ thể. ToolAcre xuất ra nhãn UTC và không được hiển thị dưới dạng trình phân tích cú pháp hoặc định dạng GMT.

Nếu khả năng tương tác phụ thuộc vào thuật ngữ, hãy liên kết đặc tả kiểm soát trong phần đánh giá mã. Nhãn hiển thị không bao giờ được âm thầm đáp ứng yêu cầu về định dạng dây.

GMT lịch sử và tình trạng pháp lý nằm ngoài bằng chứng lưu trữ

Hàng UTC được tạo bởi `Intl.DateTimeFormat` với `timeZone: "UTC"`; hàng ISO đến từ `toISOString()`. Những cuộc gọi đó chứng minh giao diện này gắn nhãn cách đọc phổ quát của nó như thế nào. Chúng không ghi lại thời điểm UTC được thông qua hoặc cơ chế thể chế đằng sau nó.

Để gỡ lỗi, nhãn đủ để thiết lập một tham chiếu chia sẻ độc lập với vùng cục bộ hiện tại. So sánh các giá trị chuỗi ISO hoặc kỷ nguyên giữa các hệ thống. Nếu một nguồn sử dụng thang đo khác, trước tiên hãy chứng minh mối quan hệ thay vì cho rằng ngày tháng quen thuộc có nghĩa là cách tính giống hệt nhau.

Đầu ra Canonical UTC đặc biệt hữu ích khi so sánh các môi trường vì nó loại bỏ lựa chọn vùng cục bộ. Tuy nhiên, nó không chuyển đổi đầu vào từ thang thời gian không được khai báo.

Trình chuyển đổi có nhãn UTC nhưng không ghi lại lịch sử định nghĩa của UTC

Giờ nguyên tử quốc tế không được thể hiện trong mã, cấu hình hoặc thử nghiệm. Không có khoản bù đắp hiện tại, khoảng cách lịch sử hoặc thuật toán chuyển đổi nào xuất hiện ở đây. Việc cung cấp một hằng số như vậy từ bộ nhớ sẽ chính xác là loại yêu cầu thời gian tinh tế mà nhiệm vụ cấm.

Giữ nguyên giá trị được gắn nhãn TAI dưới dạng TAI cho đến khi thư viện hoặc nguồn có thẩm quyền thực hiện chuyển đổi cho ngày của nó. Việc dán trực tiếp khi giây Unix áp dụng nguồn gốc hoặc tỷ lệ sai một cách âm thầm và vẫn có thể mang lại chuỗi ISO bóng bẩy. Khả năng đọc không phải là xác nhận.

Chuyển đổi bên ngoài phải bao gồm tên thang đo trong tên biến và tên loại. Việc xóa nhãn đó trước khi tính toán sẽ làm cho kết quả ISO hợp lý sau này không thể kiểm tra được.

TAI không được triển khai nên không có khoảng trống hoặc hằng số chuyển đổi nào được xác nhận

Mô hình Unix đã thử nghiệm tăng từ giá trị kỷ nguyên 1,483,228,799 lúc `2016-12-31T23:59:59Z` đến 1,483,228,800 lúc nửa đêm. Nó không có đầu vào riêng biệt cho `23:59:60`. Đó là ý nghĩa cụ thể của hành vi kiểu POSIX trong quá trình triển khai này.

Thật hợp lý khi nói rằng trình chuyển đổi ánh xạ Unix được tính vào sản lượng dân sự có nhãn UTC theo quy tắc đó. Sẽ là sai lầm nếu gọi số nguyên là số nguyên tử chính xác trong mỗi bước nhảy vọt lịch sử. Công cụ này tạo ra ngày tháng trên phần mềm chứ không phải phép đo quy mô thời gian trong phòng thí nghiệm.

Sự khác biệt rất tinh tế nhưng thực tế: các phép tính trình tự kế thừa quy ước Unix, trong khi màn hình dân dụng kế thừa định dạng Ngày và Quốc tế. Không có đường dẫn nào hiển thị siêu dữ liệu thời gian nguyên tử.

Mô hình Unix đã thử nghiệm ánh xạ các giây kiểu POSIX vào các nhãn UTC mà không có giá trị giây nhuận

Các ví dụ trong sổ làm việc về HTTP và thời gian pháp lý của Anh yêu cầu các nguồn pháp lý và giao thức bên ngoài. Chúng được bỏ qua. Khi triển khai tiêu đề hoặc bản ghi được quản lý, hãy tuân theo thông số kỹ thuật thực tế thay vì chọn từ ngữ UTC hoặc GMT dựa trên sự tương đương thông tục.

Trong mô-đun này, `GMT` có thể xuất hiện như một phần của kết xuất bù ngắn hạn của Intl cho độ lệch bằng 0, nhưng đó là đầu ra của bộ định dạng chứ không phải lời hứa tạo ngày giao thức. Giữ hiển thị giao diện người dùng tách biệt khỏi việc tuần tự hóa định dạng dây và thuật ngữ pháp lý.

Trình định dạng trả về nhãn không bù trừ là không đủ để xác thực giao thức. Kiểm tra tiêu đề được tuần tự hóa đầy đủ hoặc bản ghi được quy định bằng trình phân tích cú pháp và đồ đạc chuyên dụng của nó.

Giao thức và việc sử dụng hợp pháp GMT yêu cầu các nguồn bên ngoài và bị bỏ qua

GPS thang thời gian và ngày thiên văn nằm ngoài chế độ được chấp nhận. Giao diện người dùng chỉ cung cấp giây, mili giây hoặc phát hiện tự động và cả hai đơn vị được hỗ trợ đều giả định kỷ nguyên Unix. Không có hộp kiểm nào thay đổi nguồn gốc hoặc quy ước bước nhảy.

Một số từ thang đo khác phải có nhãn khi nhập và lưu trữ. Chuyển đổi bằng phương pháp có nguồn gốc, được xây dựng có mục đích và giữ lại bản gốc. Chỉ có giá trị Unix dẫn xuất thuộc về bảng này; mặt khác, một kết quả hợp lý có thể che giấu sự không phù hợp về cơ bản.

Việc từ chối một thang đo không được hỗ trợ sẽ an toàn hơn việc đưa ra một hằng số dự đoán. Độ lệch theo thang thời gian có thể nhạy cảm với ngày và độ chính xác sai ở đây có thể sắp xếp lại các quan sát khoa học.

GPS và thang đo thiên văn không được chấp nhận

Nói UTC khi đề cập đến hàng chung của ToolAcre vì đó là nội dung nguồn yêu cầu và nhãn giao diện người dùng. Nói giây Unix hoặc mili giây cho đầu vào số. Tránh các tuyên bố chung chung thu gọn UTC, GMT và thời gian nguyên tử thành các từ đồng nghĩa.

Độ chính xác trong việc đặt tên là một công cụ gỡ lỗi. Nó xác định những chuyển đổi nào là bắt buộc và những tuyên bố nào vẫn chưa được xác minh. Trình chuyển đổi này cung cấp bằng chứng chắc chắn cho một đường dẫn—số lượng Unix đến UTC/local hiển thị—và cố ý không cung cấp đường dẫn nào cho các thang đo không liên quan.

Khi viết tài liệu, hãy đính kèm từng thuật ngữ vào một trường hoặc định dạng cụ thể. Những tuyên bố mơ hồ rằng cả ba đều “có cùng ý nghĩa” che giấu trách nhiệm chuyển đổi chính xác.