Cách chuyển đổi dấu thời gian Unix

· 3 phút đọc

Dấu thời gian Unix là cách máy tính lưu trữ và trao đổi thời gian — một con số duy nhất đại diện cho số giây kể từ ngày 1 tháng 1 năm 1970. Bạn tìm thấy chúng trong các phản hồi API, các bản ghi cơ sở dữ liệu, các tệp nhật ký và các mã thông báo JWT. Khi bạn cần biết ngày tương ứng với 1711824000 là gì, cần một trình chuyển đổi.

Một dấu thời gian Unix trông như thế nào

Dấu thời gian Loại Ngày dễ đọc
0 Giây 1 tháng 1, 1970, 00:00:00 UTC
1000000000 Giây 9 tháng 9, 2001, 01:46:40 UTC
1711824000 Giây 31 tháng 3, 2024, 00:00:00 UTC
1711824000000 Mili giây 31 tháng 3, 2024, 00:00:00 UTC

Sự khác biệt giữa giây và mili giây là ba số không bổ sung. Một số có 10 chữ số là tính bằng giây; 13 chữ số, tính bằng mili giây.

Cách chuyển đổi dấu thời gian

  1. Nhập một dấu thời gian hoặc ngày — dán một dấu thời gian Unix để chuyển nó thành ngày dễ đọc, hoặc nhập một ngày để có dấu thời gian.
  2. Xác minh định dạng — trình chuyển đổi tự động phát hiện giây hoặc mili giây theo độ dài của số.
  3. Đọc kết quả — xem ngày trong múi giờ địa phương của bạn, ở UTC và ở định dạng ISO 8601.

Nơi bạn gặp dấu thời gian

Dấu thời gian trong mã

Chuyển đổi nhanh trong các ngôn ngữ phổ biến:

JavaScript: new Date(1711824000 * 1000) (JS sử dụng mili giây)

Python: datetime.fromtimestamp(1711824000)

Thời gian hiện tại: Date.now() (JS), time.time() (Python)

Mẹo

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

Thời gian Unix epoch là gì?

Thời gian Unix epoch (còn gọi là thời gian POSIX hoặc dấu thời gian Unix) là số giây trôi qua kể từ ngày 1 tháng 1 năm 1970 lúc 00:00:00 UTC. Đây là cách tiêu chuẩn mà máy tính biểu diễn thời gian nội bộ.

Sự khác biệt giữa dấu thời gian theo giây và mili giây là gì?

Dấu thời gian Unix theo giây có 10 chữ số (ví dụ 1711824000). Dấu thời gian theo mili giây có 13 chữ số (ví dụ 1711824000000). JavaScript sử dụng mili giây, hầu hết các API và cơ sở dữ liệu sử dụng giây. Trình chuyển đổi tự động phát hiện theo độ dài.

Tại sao thời gian được chuyển đổi của tôi lệch vài giờ?

Dấu thời gian luôn ở UTC. Trình chuyển đổi hiển thị cả UTC và giờ địa phương của bạn. Nếu kết quả không khớp với mong đợi của bạn, có lẽ bạn đang so sánh đầu ra UTC với giờ địa phương, hoặc ngược lại.

Chuyện gì xảy ra vào năm 2038?

Các hệ thống lưu trữ dấu thời gian Unix ở số nguyên có dấu 32 bit sẽ tràn vào ngày 19 tháng 1 năm 2038. Hầu hết các hệ thống hiện đại sử dụng số nguyên 64 bit, mở rộng phạm vi vượt xa bất kỳ mối lo ngại thực tế nào.