Tất cả hướng dẫn

Chuyển mốc thời gian Unix thành ngày và ngược lại

Đăng ngày · Cập nhật ngày 3 phút đọc

Mốc thời gian Unix đếm thời gian đã trôi qua kể từ nửa đêm ngày 1 tháng Giêng 1970 theo giờ quốc tế. Hai câu hỏi quyết định ngày kết quả: đơn vị của con số và múi giờ bạn dùng để đọc kết quả.

Một giá trị tham chiếu

Chuyển đổi mốc thời gian Unix cho ba cách đọc cùng một thời điểm. Với 1700000000, khi trình duyệt đặt giờ Paris:

Cách đọcKết quả
Ngày UTCTue, 14 Nov 2023 22:13:20 GMT
Ngày địa phương14 tháng Mười một 2023 lúc 23:13:20 UTC+1
ISO2023-11-14T22:13:20.000Z

Giờ địa phương theo múi giờ của trình duyệt: nhiều hơn một giờ ở Paris vào mùa đông. Cùng một mốc thời gian là một thời điểm duy nhất, được đọc ở hai múi giờ.

Đơn vị được nhận biết từ số chữ số

Thiết lập mặc định nhận biết đơn vị từ độ dài của con số. Ba giá trị dưới đây chỉ cùng một thời điểm, trong phạm vi độ chính xác.

Con sốSố chữ sốĐơn vị nhận biếtThời điểm nhận được
170000000010Giây14 tháng Mười một 2023, 22:13:20 UTC
170000000000013Mili giây14 tháng Mười một 2023, 22:13:20 UTC
170000000012345616Micro giây14 tháng Mười một 2023, 22:13:20.123 UTC

Quy tắc: tối đa 11 chữ số là giây; từ 12 đến 14 là mili giây; 15 và 16 là micro giây. Thiết lập “mili giây” buộc dùng đơn vị đó.

Cái bẫy của quy tắc

Vì đơn vị được suy ra từ độ dài, một giá trị mơ hồ chỉ được đọc theo một cách: 10000000000 (11 chữ số) cho ngày 20 tháng Mười một 2286, còn 100000000000 (12 chữ số) cho ngày 3 tháng Ba 1973. Một mốc thời gian mili giây trước tháng Ba 1973 có 11 chữ số hoặc ít hơn, và sẽ bị đọc là giây: khi đó hãy buộc thiết lập “mili giây”.

Giá trị trước 1970 và giới hạn năm 2038

Một số âm chỉ thời điểm trước năm 1970: -1 cho ngày 31 tháng Mười hai 1969 lúc 23:59:59 UTC, và 0 cho nửa đêm ngày 1 tháng Giêng 1970.

Số 2147483647 là số lớn nhất mà một số nguyên 32 bit có dấu chứa được: nó cho ngày 19 tháng Giêng 2038 lúc 03:14:07 UTC. Số tiếp theo, 2147483648, cho 03:14:08: công cụ tiếp tục không giới hạn, nhưng hệ thống lưu thời gian bằng 32 bit thì không thể.

Chuyển một ngày thành mốc thời gian

Hãy nhập một ngày thay vì một con số: công cụ cho mốc thời gian tính bằng giây và mili giây.

Đầu vàoMốc thời gian tính bằng giâyCách đọc
2026-01-011767225600Nửa đêm theo giờ quốc tế, không nêu múi giờ
2026-01-01T10:30:00+01:00176725980010:30 ở Paris, tức 09:30 theo giờ quốc tế
2024-02-291709164800Năm nhuận được chấp nhận

Một ngày không nêu múi giờ được đọc theo giờ quốc tế, không phải giờ địa phương: công cụ cho biết điều này trong kết quả. Một ngày không tồn tại, như 30 tháng Hai 2026, bị từ chối kèm một thông báo.

Các lỗi thường gặp

  • Đọc mili giây thành giây: ngày rơi xa hàng nghìn năm.
  • Quên múi giờ: một ngày đọc là giờ địa phương rồi gửi đi như giờ quốc tế sẽ lệch một giờ hoặc hơn.
  • Viết một ngày không nêu múi giờ trong khi nghĩ đến giờ địa phương, trong khi nó sẽ được đọc theo UTC.

Để đếm số ngày giữa hai ngày, xem Đếm số ngày giữa hai ngày.

Kiểm tra một phép chuyển đổi

  1. Đọc lại dòng UTC, không phụ thuộc vào thiết bị.
  2. Kiểm tra đơn vị được báo ở dòng đầu của kết quả.
  3. Chuyển ngược ngày nhận được: bạn phải có lại con số ban đầu.

Chuyển đổi mốc thời gian Unix