Unix Timestamp là gì?
Unix timestamp là một con số duy nhất biểu thị một thời điểm cụ thể. Nó đếm số giây đã trôi qua kể từ mốc Unix epoch — tức nửa đêm (00:00:00) ngày 1 tháng 1 năm 1970 theo Giờ Phối hợp Quốc tế (UTC). Vì bản chất chỉ là một số nguyên đơn giản, nên tại bất kỳ khoảnh khắc nào nó cũng giống hệt nhau ở mọi nơi trên thế giới. Chính điều này khiến Unix timestamp trở thành chuẩn toàn cầu để lưu trữ và trao đổi ngày giờ trong phần mềm, cơ sở dữ liệu, tệp log và API.
Công cụ này nhận con số "thô" đó và chuyển thành ngày giờ mà con người đọc được, hiển thị kết quả theo UTC bên cạnh các thành phố lớn như New York, London, Tokyo và Sydney, để bạn thấy chính xác cùng một thời điểm trông như thế nào ở khắp nơi trên thế giới.
Cách sử dụng công cụ
- Nhập Unix timestamp của bạn vào ô nhập liệu (ví dụ: 1700000000).
- Xác nhận xem giá trị của bạn tính bằng giây hay mili-giây — phần lớn timestamp tính bằng giây, nhưng JavaScript và một số API lại dùng mili-giây (13 chữ số thay vì 10).
- Đọc ngày giờ đã được chuyển đổi theo UTC, rồi đối chiếu với các múi giờ được liệt kê.
Giải thích công thức
Để biến một timestamp thành ngày giờ dễ đọc, bạn cộng số giây đó vào mốc epoch:
Ngày giờ = 1 tháng 1 năm 1970 00:00:00 UTC + (số giây của timestamp)
Để chuyển một giờ địa phương bất kỳ ngược lại thành timestamp, bạn tính số giây giữa thời điểm đó và mốc epoch. Múi giờ không làm thay đổi bản thân timestamp — chúng chỉ thay đổi cách cùng một thời điểm được hiển thị. New York vào mùa đông là UTC−5, London là UTC+0, Tokyo là UTC+9, còn Sydney là UTC+10 hoặc +11 trong giai đoạn giờ mùa hè (daylight saving). Để tham khảo, Việt Nam ở múi giờ UTC+7 và không áp dụng giờ mùa hè.
Ví dụ minh họa
Lấy timestamp 1700000000. Cộng số giây này vào mốc epoch ta được 22:13:20 ngày 14 tháng 11 năm 2023 (UTC). Cùng thời điểm đó là 17:13:20 ở New York, 22:13:20 ở London, và 07:13:20 sáng hôm sau ở Tokyo.
Câu hỏi thường gặp
Vì sao timestamp của tôi lớn gấp khoảng 1.000 lần? Rất có thể nó đang tính bằng mili-giây. Hãy chia cho 1.000 để đổi về giây.
Timestamp có tính đến múi giờ không? Không. Unix timestamp luôn dựa trên UTC. Các giờ địa phương được hiển thị chỉ là những cách nhìn khác nhau về cùng một thời điểm chung của thế giới.
Sự cố năm 2038 là gì? Các hệ thống lưu timestamp dưới dạng số nguyên 32-bit sẽ bị tràn số vào ngày 19 tháng 1 năm 2038. Các hệ thống 64-bit hiện đại hoàn toàn không gặp vấn đề này.