tigtools

Công cụ chuyển đổi dấu thời gian Unix

Dán dấu thời gian epoch để xem ngày giờ theo UTC và múi giờ của bạn, hoặc chọn ngày để lấy dấu thời gian tương ứng. Đơn vị được tự động nhận diện.

Chạy ngay trên trình duyệt Không cần đăng ký

Thời gian Unix hiện tại

Giây

…

Mili giây

…

Dấu thời gian → ngày giờ

Ngày giờ → dấu thời gian

Diễn giải theo

Ngày giờ được đọc theo múi giờ trên thiết bị của bạn (UTC).

Cách sử dụng

  1. Dán dấu thời gian vào mục “Dấu thời gian → ngày”. Công cụ sẽ nhận diện giá trị tính bằng giây, mili giây, micro giây hay nano giây; bạn cũng có thể tự chọn đơn vị.
  2. Xem ngày giờ theo giờ địa phương, UTC, ISO 8601 và RFC 2822, rồi sao chép định dạng bạn cần.
  3. Để chuyển đổi theo chiều ngược lại, chọn ngày giờ trong mục “Ngày → dấu thời gian” và chọn giờ địa phương hoặc UTC.
  4. Thời gian Unix hiện tại ở đầu trang được cập nhật mỗi giây. Tạm dừng để sao chép một giá trị cố định.

Cách hoạt động

Thời gian Unix (còn gọi là thời gian epoch hoặc thời gian POSIX) tính số giây kể từ 00:00:00 UTC ngày 1 tháng 1 năm 1970. Tại cùng một thời điểm, giá trị này giống nhau ở mọi nơi trên thế giới, nên được dùng trong cơ sở dữ liệu, nhật ký, API và hệ thống tệp. Thời điểm trước năm 1970 có giá trị âm: -86400 là ngày 31 tháng 12 năm 1969.

Các hệ thống khác nhau sử dụng đơn vị khác nhau. Công cụ Unix, PHP và hầu hết API dùng giây (10 chữ số với ngày hiện tại), JavaScript và Java dùng mili giây (13 chữ số), còn một số cơ sở dữ liệu và hệ thống theo dõi dùng micro giây (16 chữ số) hoặc nano giây (19 chữ số). Công cụ tự động nhận diện bằng cách đếm chữ số ở phần nguyên: tối đa 11 chữ số được hiểu là giây, 12–14 là mili giây, 15–17 là micro giây và từ 18 chữ số trở lên là nano giây. Cách này chính xác với các ngày từ khoảng năm 1973 đến năm 5138; với các ngày khác, hãy tự chọn đơn vị.

Kết quả được hiển thị theo một số định dạng. ISO 8601 (2023-11-14T22:13:20.000Z) là tiêu chuẩn trao đổi dữ liệu; chữ Z có nghĩa là UTC. RFC 2822 (Tue, 14 Nov 2023 22:13:20 +0000) được dùng trong tiêu đề email và nguồn cấp RSS. Giờ địa phương sử dụng múi giờ và cài đặt ngôn ngữ của trình duyệt, bao gồm cả giờ mùa hè.

Thời gian Unix không tính giây nhuận: mỗi ngày luôn có đúng 86.400 giây. Ngày giờ được hiển thị với độ chính xác đến mili giây, theo độ phân giải của ngày giờ trong JavaScript, nên các chữ số bổ sung của dấu thời gian micro giây và nano giây sẽ không hiển thị.

Ví dụ

Đọc một mục nhật ký

Một dòng nhật ký có ts=1700000000. Giá trị này có 10 chữ số nên được hiểu là giây: Thứ Ba, ngày 14 tháng 11 năm 2023, 22:13:20 UTC; bên dưới là thời gian theo múi giờ của bạn.

Giá trị JavaScript Date.now()

1700000000000 có 13 chữ số nên được hiểu là mili giây: cùng thời điểm với ví dụ trên. Chia cho 1.000 sẽ ra thời gian Unix tính bằng giây mà phần phụ trợ PHP hoặc Python yêu cầu.

Đặt thời hạn cho mã thông báo API

Để một giá trị hết hạn vào nửa đêm UTC ngày 1 tháng 1 năm 2030, hãy chọn ngày đó và chọn “UTC”: giá trị Unix tính bằng giây là 1893456000, sẵn sàng dùng cho một khai báo exp hoặc tiêu đề bộ nhớ đệm.

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

Làm sao biết dấu thời gian của tôi tính bằng giây hay mili giây?

Hãy đếm số chữ số. Với các ngày trong vài thập kỷ gần đây, giá trị giây có 10 chữ số (ví dụ: 1700000000), còn mili giây có 13 chữ số (ví dụ: 1700000000000). Công cụ tự động nhận diện và cho biết đơn vị đã dùng.

Dấu thời gian Unix có phụ thuộc vào múi giờ không?

Không. Dấu thời gian xác định một thời điểm và giống nhau ở mọi nơi. Chỉ cách hiển thị dưới dạng ngày tháng và giờ trên đồng hồ mới phụ thuộc vào múi giờ, vì vậy công cụ hiển thị cả UTC lẫn giờ địa phương của bạn.

Vấn đề năm 2038 là gì?

Các hệ thống lưu thời gian Unix dưới dạng số nguyên có dấu 32 bit chỉ có thể đếm đến 2,147,483,647, tương ứng với 03:14:07 UTC ngày 19 tháng 1 năm 2038. Một giây sau đó, giá trị sẽ bị tràn. Các hệ thống hiện đại dùng giá trị 64 bit để tránh vấn đề này; công cụ này không bị ảnh hưởng.

Tôi có thể chuyển đổi ngày trước năm 1970 không?

Có. Nhập dấu thời gian âm, chẳng hạn -31536000 (ngày 1 tháng 1 năm 1969), hoặc chọn ngày sớm hơn trong mục “Ngày → dấu thời gian”.

Tại sao giờ địa phương lệch UTC một khoảng lẻ?

Một số múi giờ lệch 30 hoặc 45 phút (ví dụ: Ấn Độ ở UTC+5:30 và Nepal ở UTC+5:45), còn giờ mùa hè làm thay đổi độ lệch trong một phần của năm. Giờ địa phương hiển thị tuân theo quy tắc múi giờ trên thiết bị của bạn vào ngày đó.

Quyền riêng tư

Mọi thao tác chuyển đổi đều dùng đồng hồ và các hàm ngày giờ trong trình duyệt. Dữ liệu bạn nhập không được tải lên, lưu trữ hoặc đưa vào số liệu phân tích.