Chuyển đổi Unix timestamp

Epoch sang ngày giờ và ngược lại, theo mọi múi giờ, có đồng hồ trực tiếp.

Thời gian hiện tại

    Công cụ này làm gì

    Unix timestamp đếm thời gian tính từ 0 giờ 00 phút 00 giây ngày 1/1/1970 theo giờ UTC, gọi là "epoch". Cơ sở dữ liệu, nhật ký, API và các ngôn ngữ lập trình dùng nó để lưu một thời điểm thành một con số. Công cụ này đổi con số đó thành ngày giờ đọc được, và đổi ngày giờ ngược lại thành con số. Cùng một thời điểm được hiển thị theo múi giờ bạn chọn, theo ISO 8601, RFC 2822, một câu dễ đọc bằng ngôn ngữ của bạn và dạng tương đối như "3 ngày trước". Mọi phép tính diễn ra trong trình duyệt.

    Cách dùng

    Gõ hoặc dán giá trị vào một ô duy nhất. Nếu là số, nó được đọc như timestamp; nếu giống ngày tháng, nó được đọc như ngày. Khi ô trống, công cụ hiển thị thời gian hiện tại và cập nhật mỗi giây; tắt "Đồng hồ trực tiếp" để dừng lại. Nhấn "Bây giờ" để điền timestamp hiện tại. Mỗi dòng có nút Sao chép riêng.

    • Timestamp sang ngày: 1700000000 là thứ Ba 14/11/2023, 22:13:20 UTC.
    • Ngày sang timestamp: 2023-11-14 22:13:20 theo UTC là 1700000000. Ngày không kèm độ lệch được đọc theo múi giờ đã chọn; ngày có Z hoặc độ lệch như +07:00 tự mang múi giờ của nó.

    Giây, mili giây, micro giây, nano giây

    Cùng một thời điểm được viết với số chữ số khác nhau tùy nguồn. 1700000000 (10 chữ số) là giây, như trong Unix, PHP, MySQL và JWT. 1700000000123 (13 chữ số) là mili giây, như Date.now() của JavaScript và Java. 16 chữ số là micro giây và 19 chữ số là nano giây, như trong Python hay UnixNano của Go. Công cụ đếm chữ số và tự chọn đơn vị, bạn có thể đổi lại khi biết rõ hơn. Đọc mili giây như giây là lỗi kinh điển: ra một ngày cách nay hàng chục nghìn năm.

    Múi giờ và giờ mùa hè

    Timestamp không có múi giờ; múi giờ chỉ quyết định cách viết. Cùng 1700000000 là 05:13:20 ngày 15/11 ở TP. Hồ Chí Minh (UTC+07:00) và 17:13:20 ngày 14/11 ở New York (UTC-05:00). Công cụ dùng cơ sở dữ liệu múi giờ IANA có sẵn trong trình duyệt, nên giờ mùa hè được xử lý bằng dữ liệu chứ không đoán.

    Ngày gõ không kèm độ lệch có thể rơi vào những giờ khó xử khi đổi giờ, và công cụ báo cho bạn biết. Ở New York, 02:30 ngày 10/3/2024 chưa từng xảy ra vì đồng hồ nhảy từ 02:00 lên 03:00; công cụ dời nó thành 03:30. Còn 01:30 ngày 3/11/2024 xảy ra hai lần; công cụ dùng lần đầu, 05:30 UTC, và nói rõ. Thời điểm muộn nhất hiển thị được là ngày 31/12/9999.

    Cần biết

    • Giây nhuận bị bỏ qua. Unix time coi mỗi ngày đúng 86.400 giây nên timestamp và ngày tương ứng một-một.
    • Lỗi năm 2038. Bộ đếm giây 32 bit có dấu tràn ở 2147483647, tức 03:14:07 UTC ngày 19/1/2038. Hệ thống còn dùng 32 bit phải chuyển sang 64 bit.
    • Giá trị âm là các thời điểm trước 1970: -86400 là 31/12/1969.
    • Trong bảng tính, timestamp tính bằng giây đổi thành ngày bằng =A2/86400+25569 rồi định dạng ngày (25569 là số ngày từ mốc 1900 của Excel đến 1970); với mili giây hãy chia cho 86.400.000.

    Câu hỏi thường gặp

    Làm sao biết timestamp tính bằng giây hay mili giây?

    Đếm chữ số. Timestamp hiện tại có 10 chữ số nếu là giây và 13 nếu là mili giây. Công cụ làm việc này tự động và cho biết nó đã đọc con số của bạn thế nào; bạn cũng có thể tự chọn đơn vị.

    Unix timestamp có phụ thuộc múi giờ không?

    Không. Nó luôn được đếm từ epoch theo UTC. Múi giờ chỉ ảnh hưởng cách thời điểm được hiển thị thành ngày giờ.

    Vì sao công cụ báo một giờ không tồn tại hoặc xảy ra hai lần?

    Do giờ mùa hè. Khi đồng hồ chỉnh tới, một giờ trên đồng hồ bị bỏ qua; khi chỉnh lùi, một giờ lặp lại. Công cụ chọn một thời điểm hợp lý và báo cho bạn.

    Có gửi gì lên máy chủ không?

    Không. Việc chuyển đổi dùng dữ liệu ngày giờ và múi giờ của chính trình duyệt, và những gì bạn gõ không rời khỏi trang.