RevealTheme logo

Bộ chuyển đổi Unix timestamp

Chuyển đổi giữa Unix timestamp và ngày tháng dễ đọc. Cập nhật theo thời gian thực.

Cách sử dụng công cụ này

  1. 1

    Type or paste a Unix timestamp in seconds into the top field — the bottom field updates to the matching UTC date.

  2. 2

    Or type a date into the bottom field — the top field updates to the matching Unix timestamp in seconds.

  3. 3

    Click 'Now' to fill both fields with the current moment.

  4. 4

    Select and copy the value you need from either field.

Unix timestamp là gì và tại sao các API lại dùng nó?

Unix timestamp (còn gọi là epoch time hoặc POSIX time) là một số nguyên duy nhất biểu diễn số giây đã trôi qua kể từ 00:00:00 UTC ngày 1 tháng 1 năm 1970, một thời điểm được gọi là 'kỷ nguyên Unix'. Quy ước này bắt nguồn từ hệ điều hành Unix đầu tiên của phòng thí nghiệm Bell vào những năm 1970. Ưu điểm của nó so với ngày tháng dễ đọc là nó chỉ là một con số duy nhất, không phụ thuộc múi giờ, dễ so sánh và tính toán số học, và rõ ràng không gây nhầm lẫn giữa các hệ thống. Mọi cơ sở dữ liệu, tệp nhật ký, JWT, token OAuth và hầu hết các API hiện đại đều dùng Unix timestamp trong nội bộ. Claim 'exp' của một JWT là một Unix timestamp; trường 'created_at' của hầu hết các API là một mốc Unix hoặc một chuỗi ISO 8601 dẫn xuất từ nó; thời điểm sửa đổi tệp trên Linux/macOS được lưu dưới dạng mốc Unix. Có hai biến thể phổ biến mà bạn cần phân biệt: giây (quy ước Unix gốc, dùng trong JWT, OAuth và siêu dữ liệu tệp của Linux) và mili giây (dùng trong Date.now() của JavaScript, System.currentTimeMillis() của Java và nhiều API hiện đại). Một mốc 10 chữ số là tính theo giây; một mốc 13 chữ số là tính theo mili giây. Công cụ này xử lý được cả hai: dán bất kỳ định dạng nào vào bất kỳ trường nào và chúng tôi sẽ tự động phát hiện và chuyển đổi. Khái niệm còn lại bạn nên biết: ISO 8601 là định dạng dễ đọc tiêu chuẩn (2025-12-31T23:59:59Z), được sắp xếp nghiêm ngặt theo bảng chữ cái và có thể phân tích ở mọi nơi. Khi bạn có thể chọn giữa việc lưu mốc thời gian dưới dạng số nguyên Unix hay chuỗi ISO 8601, hãy ưu tiên Unix vì hiệu năng và ISO 8601 vì khả năng dễ đọc.

Các trường hợp sử dụng phổ biến

  • Giải mã claim 'exp' hoặc 'iat' từ payload JWT để xem khi nào nó hết hạn.

  • Chuyển đổi dấu thời gian của phản hồi API sang múi giờ địa phương của bạn để gỡ lỗi.

  • Tạo dấu thời gian để thiết lập header thời hạn của cookie.

  • Chuyển dấu thời gian cơ sở dữ liệu (giây epoch) sang ISO 8601 để phân tích nhật ký.

  • Tính thời gian đã trôi qua giữa hai sự kiện bằng cách trừ các dấu thời gian Unix của chúng.

  • Lên lịch các tác vụ cron bằng lệnh at với dấu thời gian Unix tường minh.

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

Tại sao lại là năm 1970?
Đây là một quy ước từ các hệ thống Unix đầu tiên của phòng thí nghiệm Bell. Lựa chọn này tùy ý nhưng đã được giữ lại. Số nguyên có dấu 32 bit ban đầu dùng để lưu trữ nó sẽ tràn số vào lúc 2:14:07 UTC ngày 19 tháng 1 năm 2038: 'vấn đề năm 2038'. Các hệ thống hiện đại dùng số nguyên 64 bit, đẩy thời điểm tràn số tới năm 292.277.026.596.
Giây hay mili giây?
Unix timestamp tính theo giây (số có 10 chữ số vào năm 2025). Date.now() của JavaScript và System.currentTimeMillis() của Java dùng mili giây (13 chữ số). Hãy luôn kiểm tra xem API bạn gọi mong đợi đơn vị nào: thiếu hoặc thừa một hệ số 1000 là lỗi mốc thời gian phổ biến số một trong môi trường production.
Làm thế nào để tôi xem mốc này theo múi giờ của mình?
Unix timestamp không phụ thuộc múi giờ: chúng biểu diễn cùng một thời điểm ở mọi nơi. Hãy hiển thị nó theo múi giờ địa phương của bạn bằng cách truyền mốc thời gian vào bộ định dạng ngày của ngôn ngữ bạn dùng với múi giờ phù hợp. Trong JavaScript: new Date(ts*1000).toLocaleString('vi-VN', { timeZone: 'America/New_York' }).
Sự khác biệt giữa Unix time và UTC là gì?
Unix time là một con số duy nhất; UTC là một cách biểu diễn bao gồm năm, tháng, ngày, giờ, phút và giây. Các mốc Unix luôn theo UTC theo quy ước: không tồn tại 'Unix time theo EST'. Cách hiển thị có thể theo bất kỳ múi giờ nào, nhưng con số nền tảng thì mang tính phổ quát.
Giây nhuận được xử lý như thế nào?
Unix time bỏ qua giây nhuận: nó giả định mỗi ngày có chính xác 86.400 giây. Điều này có nghĩa là Unix time có thể lùi lại trong giây lát hoặc đứng yên trong lúc chèn giây nhuận. Với hầu hết ứng dụng, điều này là vô hình; với các hệ thống độ chính xác cao (GPS, giao dịch tài chính), hãy dùng TAI (Giờ Nguyên tử Quốc tế).
Unix timestamp có thể là số âm không?
Có: chúng biểu diễn các ngày trước năm 1970. Mốc âm hoạt động trong hầu hết các ngôn ngữ, mặc dù một số hệ thống cũ sẽ từ chối chúng.
ISO 8601 timestamp là gì?
ISO 8601 là tiêu chuẩn quốc tế cho định dạng ngày/giờ dễ đọc: AAAA-MM-DDTHH:MM:SSZ (Z = UTC, hoặc +HH:MM cho các độ lệch khác). Ví dụ: 2025-12-31T23:59:59Z. Các chuỗi ISO 8601 được sắp xếp theo bảng chữ cái theo đúng trình tự thời gian, khiến chúng rất phù hợp cho tệp nhật ký và truy vấn cơ sở dữ liệu.

Công cụ liên quan