Unix Epoch Timestamp là gì?
Unix timestamp (còn gọi là epoch time hoặc POSIX time) là số giây đã trôi qua kể từ mốc Unix epoch: thời điểm 0 giờ theo Giờ Phối hợp Quốc tế (UTC) ngày 1 tháng 1 năm 1970. Đây là cách lưu trữ một thời điểm chính xác một cách gọn nhẹ và không phụ thuộc múi giờ, được dùng rộng rãi từ cơ sở dữ liệu, API cho đến file log và các ngôn ngữ lập trình. Công cụ này giúp bạn chuyển con số "thô" đó trở lại thành ngày giờ mà con người đọc được.
Cách sử dụng
Dán hoặc nhập giá trị epoch (tính bằng giây) vào ô nhập rồi bấm xác nhận. Công cụ sẽ trả về thời điểm tương ứng theo UTC, hiển thị vừa dưới dạng câu thân thiện dễ đọc, vừa dưới dạng chuỗi chuẩn ISO 8601, kèm theo các thành phần riêng lẻ gồm năm, tháng, ngày, giờ, phút và giây. Toàn bộ kết quả đều theo giờ UTC nên không bị ảnh hưởng bởi múi giờ tại nơi bạn đang ngồi (Việt Nam là UTC+7).
Giải thích công thức
Về bản chất, phép chuyển đổi rất đơn giản:
$$\text{UTC Date} = \text{Epoch}_{1970}\;+\;\text{Unix Timestamp (s)}\times 1\,\text{s}$$Công cụ nhân số giây với 1000 để ra số mili-giây tính từ mốc epoch, sau đó biểu diễn thời điểm đó theo lịch UTC, đồng thời xử lý chính xác năm nhuận và số ngày khác nhau của từng tháng.
Ví dụ minh họa
Lấy giá trị epoch 1700000000. Cộng thêm 1.700.000.000 giây vào mốc 1970-01-01T00:00:00Z:
$$\text{1970-01-01T00:00:00Z} + 1{,}700{,}000{,}000\,\text{s} = \text{2023-11-14T22:13:20Z}$$ta được kết quả 2023-11-14T22:13:20Z — tức là Thứ Ba, ngày 14 tháng 11 năm 2023, lúc 22:13:20 theo giờ UTC (tương đương 05:13:20 sáng ngày 15/11/2023 theo giờ Việt Nam).
Câu hỏi thường gặp
Đây là giây hay mili-giây? Công cụ này nhận giá trị tính bằng giây. Nếu giá trị của bạn có 13 chữ số thì rất có thể đó là mili-giây — hãy chia cho 1000 trước khi nhập.
Kết quả theo múi giờ nào? Luôn là UTC. Để có giờ địa phương, bạn cộng thêm độ lệch múi giờ của mình vào kết quả (ví dụ Việt Nam cộng thêm 7 giờ).
Có nhập được epoch âm không? Có — giá trị âm biểu thị các mốc thời gian trước ngày 1 tháng 1 năm 1970.