Kết nối qua MCP →

Nhập phép tính

Công thức

Quảng cáo

Kết quả

UTC Date & Time
2023-11-14 22:13:20
UTC (Giờ phối hợp quốc tế)
Giờ 22
Phút 13
Giây 20
Thứ trong tuần (0=Chủ Nhật) 2
Số ngày kể từ 01/01/1970 19.675

Công cụ chuyển Unix Timestamp là gì?

Unix timestamp (còn gọi là thời gian epoch) là số giây đã trôi qua kể từ 00:00:00 UTC ngày 1 tháng 1 năm 1970, không tính giây nhuận. Công cụ này chuyển một con số nguyên duy nhất đó thành ngày giờ theo lịch UTC mà con người có thể đọc được, bao gồm cả thứ trong tuần.

Trục số đếm giây từ mốc epoch năm 1970 đến một ngày sau đó
Dấu thời gian Unix đếm số giây đã trôi qua kể từ mốc epoch, lúc nửa đêm ngày 1 tháng 1 năm 1970 UTC.

Cách sử dụng

Dán hoặc nhập một Unix timestamp tính theo giây (ví dụ 1700000000) rồi nhấn gửi. Công cụ sẽ trả về năm, tháng, ngày, giờ, phút, giây theo giờ UTC, cùng với thứ trong tuần và tổng số ngày tính từ mốc epoch.

Giải thích công thức

Trước tiên, số giây được tách ra: số ngày = floor(ts / 86400) và phần dư cho ra thời điểm trong ngày. Sau đó số ngày được ánh xạ thành ngày dương lịch bằng thuật toán nghịch đảo "days_from_civil" nổi tiếng của Howard Hinnant. Thuật toán này dời mốc bắt đầu năm sang tháng Ba để ngày nhuận rơi vào cuối năm, nhờ vậy tránh được các trường hợp đặc biệt. Thứ trong tuần được tính bằng (số ngày + 4) mod 7, vì ngày 1 tháng 1 năm 1970 rơi vào thứ Năm.

$$\begin{gathered} \text{Days} = \left\lfloor \frac{\text{Timestamp}}{86400} \right\rfloor, \qquad s = \text{Timestamp} \bmod 86400 \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{Hour} &= \left\lfloor \frac{s}{3600} \right\rfloor \\ \text{Minute} &= \left\lfloor \frac{s \bmod 3600}{60} \right\rfloor \\ \text{Second} &= s \bmod 60 \\ (\text{Y},\text{M},\text{D}) &= \text{civil}(\text{Days}) \end{aligned} \right. \end{gathered}$$
Dấu thời gian được tách thành số ngày trọn vẹn và số giây còn lại trong ngày
Chia dấu thời gian cho 86400 tách số ngày trọn vẹn khỏi số giây còn dư trong ngày.

Ví dụ minh họa

Với ts = 1.700.000.000: số ngày = 19675, phần dư = 72800 giây = 22:13:20. Thuật toán lịch dương ánh xạ ngày thứ 19675 thành 14/11/2023. Vậy kết quả là 14/11/2023 lúc 22:13:20 UTC.

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

Công cụ có tính đến múi giờ không? Không — kết quả luôn theo giờ UTC. Hãy cộng thêm chênh lệch múi giờ của bạn so với UTC để đổi sang giờ địa phương. (Việt Nam là UTC+7.)

Vậy còn mili giây thì sao? Chỉ nhập số giây. Nếu bạn có timestamp tính bằng mili giây, hãy chia cho 1000 trước.

Tại sao công cụ không xử lý giây nhuận? Bản thân thời gian Unix theo định nghĩa đã bỏ qua giây nhuận, nên công cụ chuyển đổi này cũng vậy.

Cập nhật lần cuối: