Công cụ chuyển đổi thời gian Unix
Chuyển đổi Unix timestamp sang ngày/giờ dễ đọc hoặc chuyển đổi ngày/giờ sang Unix timestamp. Tính năng đồng hồ trực tiếp, hỗ trợ nhiều múi giờ và nhiều định dạng ngày tháng.
Chuyển đổi ngày sang Unix Timestamp
Chuyển đổi ngày và giờ (UTC) sang Unix Timestamp
Trình chặn quảng cáo đang ngăn chúng tôi hiển thị quảng cáo
MiniWebtool miễn phí nhờ quảng cáo. Nếu công cụ này hữu ích, hãy ủng hộ bằng Premium (không quảng cáo + nhanh hơn) hoặc cho phép MiniWebtool.com rồi tải lại trang.
- Hoặc nâng cấp Premium (không quảng cáo)
- Cho phép quảng cáo cho MiniWebtool.com, rồi tải lại
Giới thiệu về Công cụ chuyển đổi thời gian Unix
Công cụ chuyển đổi thời gian Unix là một công cụ toàn diện để chuyển đổi giữa các dấu thời gian Unix và các ngày tháng dễ đọc cho con người. Cho dù bạn là một lập trình viên đang gỡ lỗi các dấu thời gian, một nhà phân tích dữ liệu đang xử lý các tệp nhật ký, hay đơn giản là tò mò về cách thời gian máy tính hoạt động, trình chuyển đổi này cung cấp chuyển đổi hai chiều chính xác với nhiều định dạng đầu ra.
Giờ Unix là gì?
Giờ Unix (còn được gọi là giờ POSIX, giờ Epoch hoặc dấu thời gian Unix) là một hệ thống để theo dõi thời gian dưới dạng tổng số giây đang chạy. Nó tính số giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970, 00:00:00 UTC (được gọi là Unix Epoch), không tính các giây nhuận.
Dấu thời gian Unix là nền tảng của tính toán vì chúng cung cấp:
- Sự đơn giản - Một số nguyên duy nhất đại diện cho bất kỳ thời điểm nào
- Tính độc lập với múi giờ - Cùng một dấu thời gian có nghĩa là cùng một thời điểm trên toàn thế giới
- So sánh dễ dàng - Phép toán số học đơn giản để so sánh hoặc tính toán chênh lệch thời gian
- Hiệu quả không gian - Lưu trữ dưới dạng một con số duy nhất thay vì nhiều thành phần ngày tháng
Unix Epoch
Unix Epoch là điểm tham chiếu cho giờ Unix: nửa đêm ngày 1 tháng 1 năm 1970, theo Giờ phối hợp quốc tế (UTC). Ngày này được chọn một cách khá tùy ý trong quá trình phát triển ban đầu của Unix tại Bell Labs. Tại thời điểm đó, dấu thời gian Unix là 0.
Cách sử dụng công cụ chuyển đổi này
Chuyển đổi dấu thời gian Unix sang ngày tháng
- Nhập dấu thời gian Unix của bạn vào trường nhập (chấp nhận cả giây và miligiây)
- Nhấp vào nút "Chuyển đổi sang Ngày"
- Xem kết quả ở nhiều định dạng: ISO 8601, RFC 2822, ngày đầy đủ và phân tích thành phần
- Sử dụng các nút sao chép để sao chép nhanh bất kỳ định dạng nào vào bộ nhớ tạm của bạn
Chuyển đổi ngày tháng sang dấu thời gian Unix
- Chuyển sang tab "Ngày → Unix"
- Nhập năm, tháng, ngày và giờ, phút, giây tùy chọn (UTC)
- Nhấp vào nút "Chuyển đổi sang dấu thời gian Unix"
- Sao chép dấu thời gian kết quả để sử dụng trong ứng dụng của bạn
Dấu thời gian Unix trong lập trình
Hầu hết các ngôn ngữ lập trình cung cấp các hàm tích hợp sẵn để làm việc với dấu thời gian Unix:
| Ngôn ngữ | Lấy dấu thời gian hiện tại | Chuyển đổi sang Ngày |
|---|---|---|
| JavaScript | Math.floor(Date.now()/1000) |
new Date(ts * 1000) |
| Python | import time; time.time() |
datetime.fromtimestamp(ts) |
| PHP | time() |
date('Y-m-d H:i:s', $ts) |
| Java | System.currentTimeMillis()/1000 |
new Date(ts * 1000L) |
| Ruby | Time.now.to_i |
Time.at(ts) |
| Go | time.Now().Unix() |
time.Unix(ts, 0) |
| C# | DateTimeOffset.UtcNow.ToUnixTimeSeconds() |
DateTimeOffset.FromUnixTimeSeconds(ts) |
Sự cố năm 2038
Sự cố năm 2038 (còn được gọi là Y2K38 hoặc Lỗi thiên niên kỷ Unix) là một vấn đề tiềm ẩn có thể ảnh hưởng đến các hệ thống lưu trữ giờ Unix dưới dạng số nguyên có dấu 32-bit.
Một số nguyên có dấu 32-bit có thể đại diện cho các giá trị từ -2,147,483,648 đến 2,147,483,647. Giá trị tối đa này tương ứng với:
- Thứ Ba, ngày 19 tháng 1 năm 2038, 03:14:07 UTC
Một giây sau đó, dấu thời gian sẽ bị tràn và quay trở lại -2,147,483,648, vốn sẽ được hiểu là ngày 13 tháng 12 năm 1901. Điều này có thể gây ra:
- Sự cố phần mềm và hành vi không mong muốn
- Tính toán ngày tháng không chính xác
- Tham nhũng dữ liệu trong cơ sở dữ liệu
- Lỗi hệ thống trong các thiết bị nhúng
Giải pháp: Các hệ thống hiện đại sử dụng số nguyên 64-bit cho dấu thời gian, có thể đại diện cho các ngày xa hơn cả tuổi của vũ trụ (~292 tỷ năm).
Giây so với Miligiây
Các hệ thống khác nhau sử dụng độ chính xác dấu thời gian khác nhau:
| Loại | Chữ số | Ví dụ | Được sử dụng bởi |
|---|---|---|---|
| Giây | 10 | 1704067200 | Unix/Linux, PHP, Python, C |
| Miligiây | 13 | 1704067200000 | JavaScript, Java, API |
| Microgiây | 16 | 1704067200000000 | Một số cơ sở dữ liệu, hệ thống độ chính xác cao |
| Nanogiây | 19 | 1704067200000000000 | Go, một số thư viện thời gian |
Trình chuyển đổi của chúng tôi tự động phát hiện các dấu thời gian có 13 chữ số trở lên là miligiây và chuyển đổi chúng một cách thích hợp.
Giờ Unix và Giây nhuận
Một đặc điểm quan trọng của giờ Unix là nó không tính đến các giây nhuận. Nó giả định mỗi ngày có chính xác 86,400 giây. Khi một giây nhuận được thêm vào bởi các cơ quan quản lý thời gian quốc tế (để tính toán những bất thường nhỏ trong vòng quay của Trái đất), giờ Unix thực tế sẽ tạm dừng hoặc "phát lại" một giây.
Điều này có nghĩa là giờ Unix không hoàn toàn đơn điệu trong các sự kiện giây nhuận, nhưng sự đơn giản hóa này giúp làm việc theo chương trình dễ dàng hơn nhiều. Đối với hầu hết các ứng dụng, sự khác biệt này không quan trọng.
Dấu thời gian Unix phổ biến
| Dấu thời gian | Ngày | Ý nghĩa |
|---|---|---|
0 |
1 thg 1, 1970 00:00:00 UTC | Unix Epoch |
1000000000 |
9 thg 9, 2001 01:46:40 UTC | Một tỷ giây |
1234567890 |
13 thg 2, 2009 23:31:30 UTC | Chuỗi số đáng nhớ |
2000000000 |
18 thg 5, 2033 03:33:20 UTC | Hai tỷ giây |
2147483647 |
19 thg 1, 2038 03:14:07 UTC | Tối đa có dấu 32-bit (Y2038) |
Các câu hỏi thường gặp
Giờ Unix (dấu thời gian Unix) là gì?
Giờ Unix (còn được gọi là giờ POSIX hoặc giờ Epoch) là một hệ thống để theo dõi thời gian dưới dạng tổng số giây đang chạy kể từ Unix Epoch - ngày 1 tháng 1 năm 1970, 00:00:00 UTC. Nó không tính đến các giây nhuận. Dấu thời gian Unix được sử dụng rộng rãi trong tính toán vì chúng cung cấp một cách đơn giản, không phụ thuộc vào múi giờ để lưu trữ và so sánh các ngày.
Unix Epoch là gì?
Unix Epoch là điểm tham chiếu cho giờ Unix: ngày 1 tháng 1 năm 1970, lúc 00:00:00 UTC. Tất cả các dấu thời gian Unix đại diện cho số giây đã trôi qua kể từ thời điểm này. Epoch được chọn vì nó xấp xỉ thời điểm Unix đang được phát triển tại Bell Labs.
Sự cố năm 2038 là gì?
Sự cố năm 2038 (còn gọi là Y2K38 hoặc Lỗi thiên niên kỷ Unix) xảy ra do nhiều hệ thống lưu trữ dấu thời gian Unix dưới dạng số nguyên có dấu 32-bit, chỉ có thể đại diện cho thời gian cho đến ngày 19 tháng 1 năm 2038, 03:14:07 UTC (2.147.483.647 giây). Sau thời điểm này, dấu thời gian sẽ bị tràn và quay trở lại một số âm, có khả năng gây ra lỗi phần mềm. Các hệ thống hiện đại sử dụng số nguyên 64-bit để tránh vấn đề này.
Sự khác biệt giữa giờ Unix tính bằng giây và miligiây là gì?
Giờ Unix tính bằng giây đếm toàn bộ số giây kể từ Epoch. Giờ Unix tính bằng miligiây (thường được sử dụng trong JavaScript và Java) nhân số này với 1000, cung cấp độ chính xác cao hơn. Dấu thời gian miligiây có 13 chữ số, trong khi dấu thời gian giây thường có 10 chữ số. Trình chuyển đổi của chúng tôi tự động phát hiện và xử lý cả hai định dạng.
Giờ Unix có tính đến giây nhuận không?
Không, giờ Unix không tính đến các giây nhuận. Nó giả định mỗi ngày có chính xác 86.400 giây. Khi các giây nhuận được thêm vào (để bù đắp cho những bất thường trong vòng quay của Trái đất), giờ Unix thực tế sẽ tạm dừng hoặc lặp lại một giây. Điều này giữ cho giờ Unix đơn giản và có thể dự đoán được.
Làm thế nào để chuyển đổi dấu thời gian Unix sang ngày tháng trong lập trình?
Hầu hết các ngôn ngữ lập trình đều có các hàm tích hợp sẵn: JavaScript: new Date(timestamp * 1000). Python: datetime.fromtimestamp(timestamp). PHP: date('Y-m-d H:i:s', timestamp). Java: new Date(timestamp * 1000L). Hãy nhớ rằng JavaScript và Java sử dụng miligiây, trong khi hầu hết các ngôn ngữ khác sử dụng giây.
Tài nguyên bổ sung
Tham khảo nội dung, trang hoặc công cụ này như sau:
"Công cụ chuyển đổi thời gian Unix" tại https://MiniWebtool.com/vi// từ MiniWebtool, https://MiniWebtool.com/
bởi đội ngũ miniwebtool. Cập nhật: 05 tháng 2, 2026