Trình chuyển đổi Unix timestamp sang ngày
Chuyển Unix timestamp thành ngày và giờ dễ đọc — hoặc chuyển bất kỳ ngày nào trở lại Unix timestamp. Hỗ trợ giây và mili giây.
Timestamp → Ngày
Ngày → Timestamp
Công cụ liên quan
Frequently asked questions
Unix timestamp là gì?
Unix timestamp là số giây đã trôi qua kể từ 00:00:00 UTC ngày 1 tháng 1 năm 1970 — một mốc tham chiếu được gọi là Unix epoch. Nó biểu diễn một thời điểm bất kỳ bằng một số nguyên duy nhất, giúp việc lưu trữ, so sánh và tính toán trở nên dễ dàng. Đây là định dạng thời gian tiêu chuẩn được dùng trong hầu hết hệ điều hành, cơ sở dữ liệu, API và ngôn ngữ lập trình.
Làm thế nào để chuyển Unix timestamp sang ngày giờ?
Nhập timestamp vào công cụ chuyển đổi, công cụ sẽ trả về ngày và giờ tương ứng theo UTC và theo múi giờ địa phương của bạn. Công cụ tự động nhận biết bạn nhập theo giây (số 10 chữ số) hay theo mili giây (số 13 chữ số). Bạn cũng có thể chuyển theo chiều ngược lại: chọn ngày và giờ để nhận Unix timestamp tương ứng.
Sự khác nhau giữa Unix time theo giây và theo mili giây là gì?
Unix timestamp nguyên bản tính theo giây. Phần lớn hệ thống phía máy chủ — PHP, Python, Go, Bash, cơ sở dữ liệu SQL — dùng giây. Date.now() và new Date().getTime() của JavaScript trả về mili giây (giây Unix × 1000). Timestamp theo giây hiện có 10 chữ số; theo mili giây có 13 chữ số. Nhầm lẫn giữa hai loại này là lỗi phổ biến khi frontend JavaScript gửi timestamp lên backend đang kỳ vọng theo giây.
Vì sao Unix time bắt đầu từ ngày 1 tháng 1 năm 1970?
Ngày này được các nhà phát triển Unix tại Bell Labs chọn vào đầu những năm 1970 như một mốc bắt đầu gần, tiện lợi. Nó không có ý nghĩa đặc biệt nào ngoài việc là một ngày “tròn” và gần thời điểm hệ thống được phát triển. Các hệ thống khác dùng các epoch khác nhau: Windows FILETIME bắt đầu từ 1/1/1601; GPS time bắt đầu từ 6/1/1980; NTP bắt đầu từ 1/1/1900.
Vấn đề Year 2038 là gì?
Các hệ thống lưu Unix timestamp dưới dạng số nguyên 32-bit có dấu chỉ có thể biểu diễn ngày đến 19 tháng 1 năm 2038 (timestamp 2.147.483.647). Sau đó, giá trị bị tràn và trở thành một số âm lớn, biểu diễn một ngày vào năm 1901. Các hệ thống 64-bit hiện đại không bị ảnh hưởng. Tuy vậy, các hệ thống nhúng cũ, cơ sở dữ liệu đời cũ và phần mềm 32-bit có thể vẫn dễ bị ảnh hưởng và cần được nâng cấp trước mốc thời gian đó.
Làm thế nào để lấy Unix timestamp hiện tại trong ngôn ngữ lập trình của tôi?
JavaScript: Math.floor(Date.now() / 1000). Python: import time; int(time.time()). PHP: time(). Bash: date +%s. PostgreSQL: EXTRACT(EPOCH FROM NOW())::int. MySQL: UNIX_TIMESTAMP(). Go: time.Now().Unix(). Tất cả đều trả về thời gian hiện tại tính theo số giây kể từ Unix epoch.