Unix Timestamp là gì?
Unix timestamp (còn gọi là epoch time hay POSIX time) là số giây đã trôi qua kể từ thời điểm 00:00:00 UTC ngày 1 tháng 1 năm 1970, không tính giây nhuận (leap second). Đây là cách biểu diễn một mốc thời gian mang tính phổ quát và không phụ thuộc múi giờ, được dùng rộng rãi trong cơ sở dữ liệu, API, file log và hầu hết các ngôn ngữ lập trình. Công cụ này hiểu dữ liệu bạn nhập là giờ UTC và trả về giá trị epoch tương ứng ở cả hai đơn vị: giây và mili-giây.
Cách sử dụng công cụ
Bạn chỉ cần nhập năm, tháng, ngày, giờ, phút và giây của thời điểm muốn chuyển đổi. Tất cả các giá trị đều được hiểu theo chuẩn UTC (Giờ Phối hợp Quốc tế). Nhấn nút tính toán, công cụ sẽ trả về Unix timestamp tính bằng giây, kèm theo giá trị mili-giây — đơn vị thường được đối tượng Date trong JavaScript và nhiều API web yêu cầu.
Giải thích công thức
Phép tính đếm số ngày trọn vẹn giữa ngày 1/1/1970 và ngày bạn chọn, nhân với 86.400 (số giây trong một ngày), rồi cộng thêm số giây tương ứng với thời điểm trong ngày:
$$\text{epoch} = \text{số\_ngày\_kể\_từ\_1970} \times 86400 + \text{giờ} \times 3600 + \text{phút} \times 60 + \text{giây}$$
Việc đếm số ngày tự động tính đến cả năm nhuận, vì vậy ngày 29 tháng 2 của các năm như 2000, 2020 và 2024 đều được xử lý chính xác.
Ví dụ minh họa
Hãy lấy ví dụ ngày 1/1/2024 lúc 00:00:00 UTC. Từ 1970-01-01 đến 2024-01-01 có tổng cộng 19.723 ngày trọn vẹn. Nhân lên: \(19{,}723 \times 86{,}400 = 1{,}704{,}067{,}200\) giây. Vì không có thêm giờ, phút hay giây nào, Unix timestamp sẽ là 1.704.067.200, và giá trị mili-giây là 1.704.067.200.000.
Câu hỏi thường gặp
Dữ liệu nhập vào có phải giờ địa phương của tôi không? Không. Để kết quả luôn rõ ràng và không gây nhầm lẫn, mọi giá trị đều được hiểu là giờ UTC. Nếu cần, hãy quy đổi giờ địa phương (Việt Nam là UTC+7) sang UTC trước khi nhập.
Timestamp có thể là số âm không? Công cụ này chỉ nhận năm từ 1970 trở đi, nên kết quả luôn bằng 0 hoặc dương. Những ngày trước năm 1970 sẽ tạo ra giá trị epoch âm.
Tại sao lại hiển thị cả giây và mili-giây? Phần lớn hệ thống Unix dùng đơn vị giây, trong khi JavaScript và nhiều API web lại dùng mili-giây. Cả hai được hiển thị để bạn tiện sử dụng.