Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows

Hiểu Unix Epoch Time: Chuyển Đổi Timestamp Sang Ngày Giờ Con Người Đọc Được

Bạn có biết máy tính không hiểu ngôn ngữ tiếng Anh của con người? Tất cả hướng dẫn được chuyển thành mã nhị phân trước khi CPU đọc và thực hiện quy trình, sau đó chuyển phản hồi tạo ra từ mã nhị phân thành ngôn ngữ con người đọc được. Mã nhị phân chỉ gồm hai chữ cái, 0 và 1. Nghe rối rắm, nhưng chưa bao giờ là vấn đề cho bộ xử lý cho đến khi nó phải đọc ngày tháng không thể chuyển thành 0 và 1 đơn giản.

Để giải quyết vấn đề này, nhà khoa học máy tính quyết định chuyển một ngày cho trước thành số giây trôi qua từ một mốc tham chiếu chung duy nhất, được chấp nhận làm tiêu chuẩn toàn cầu. Khi chúng ta cung cấp ngày cho máy tính, nó chuyển thành giây và tính xem bao nhiêu giây đã trôi qua từ giây đầu tiên kể từ khi thời gian bắt đầu cho máy tính. Giây đầu tiên của thời gian cho máy tính được gọi là Epoch Time.

Hiểu Unix Epoch Time: Chuyển Đổi Timestamp Sang Ngày Giờ Con Người Đọc Được

Thú Vị.

Nếu chuyển Hello sang mã nhị phân, nó sẽ trông như

Hello = 01001000 01100101 01101100 01101100 01101111.

Epoch Timestamp Là Gì?

Từ điển Merriam-Webster định nghĩa "Epoch" là một thời điểm hoặc ngày được chọn làm mốc tham chiếu. Wikipedia định nghĩa Epoch trong tính toán là ngày và giờ từ đó máy tính đo lường thời gian hệ thống.

Các hệ điều hành khác nhau lấy các thời điểm khác nhau làm Epoch time. Lý do khác biệt không rõ, nhưng rõ ràng sẽ đơn giản hơn nếu tiêu chuẩn Epoch time đã được đặt. Đây là vài ví dụ Epoch time thường dùng:

Hệ Điều Hành Epoch Time Bắt Đầu Từ
1 Thế Giới Thực 00:00:00 UTC
2 Apple macOS Ngày 1 Tháng 1 Năm 1904
3 Microsoft Windows Ngày 1 Tháng 1 Năm 1601
4 Unix và Linux Systems Ngày 1 Tháng 1 Năm 1970

 

Unix Epoch Timestamp Là Gì?

Hệ điều hành Unix là hệ đầu tiên giới thiệu khái niệm Epoch timestamp, do đó thường được gọi là Unix Epoch Timestamp. Hệ thống Unix đầu tiên được xây dựng thập niên 1960 bởi Dennis Ritchie và Ken Thompson, và Unix Epoch Timestamp được đặt là 00:00:00 UTC Ngày 1 Tháng 1 Năm 1970, là khoảnh khắc "epoch" cho hệ thống Unix.

Cách Tìm Unix Epoch Timestamp?

Đối với người dùng Unix, một tập lệnh dễ dàng giúp xác định thời gian hiện tại và Unix Epoch Timestamp tính bằng giây từ Ngày 1 Tháng 1 Năm 1970.

Để tìm Unix Epoch timestamp hiện tại, gõ sau trong terminal:

date "+%s"

Để chuyển Unix Epoch timestamp này sang ngày giờ con người đọc được, gõ lệnh:

date -r (epoch time)

Để ra ngày, định dạng con người đọc được:

date
Hiểu Unix Epoch Time: Chuyển Đổi Timestamp Sang Ngày Giờ Con Người Đọc Được

Unix Epoch Timestamp Hiệu Quả Như Thế Nào Và Vấn Đề Năm 2038 Là Gì?

Nhà phát triển Unix Epoch Timestamp quyết định gán giá trị integer 32-bit có dấu vì nó dường như khá lớn lúc đó. Nhưng khi thời gian trôi, mỗi giây trôi qua làm tăng giá trị Unix Epoch Timestamp. Vì là giá trị integer 32-bit, nó sẽ hết dung lượng vào 03:14:07, Ngày 19 Tháng 1 Năm 2038. Giây tiếp theo sẽ gây tràn số và đồng hồ reset về Ngày 13 Tháng 12 Năm 1901.

Điều này sẽ tạo ra hỗn loạn cho người dùng Unix toàn cầu và làm gián đoạn hoạt động hệ thống Unix, tạo vấn đề với giấy phép phần mềm, hoạt động backup, và lỗi khác. Điều này được gọi là "Vấn Đề Năm 2038" tương tự vấn đề Y2K xảy ra trên Windows khi chúng ta bước vào thiên niên kỷ mới.

Tuy nhiên, ước tính hệ thống 32-bit sẽ không còn dùng vào năm 2038, nên vấn đề này không gây rắc rối lớn. Nhưng lo ngại vẫn còn với một số ô tô có hệ thống Unix 32-bit nhúng trong Engine Control Unit. Những chiếc xe này dự kiến hoạt động đến năm 2038 thôi.

Hiểu Unix Epoch Time: Chuyển Đổi Timestamp Sang Ngày Giờ Con Người Đọc Được

Giải Pháp Cho Unix Epoch Timestamp 32-bit.

Hệ thống Unix mới được phát triển đã được gán giá trị integer 64-bit có dấu để lưu Unix Epoch Timestamp, nghĩa là vấn đề tiếp theo về timestamp tự reset sẽ xảy ra sau 14 tỷ năm. Đúng vậy, nhiều hơn tuổi ước tính của Vũ Trụ là 13.8 tỷ năm. Chỉ hệ thống 64-bit mới xử lý được Unix time mới và hệ thống cũ không thể chuyển sang 64-bit.

Có Thể Lấy Epoch Time Trên Windows 10 Không?

Microsoft theo dõi Epoch Timestamp khác, nhưng vẫn có thể lấy Unix Epoch timestamp trên Windows 10 bằng cách chỉ định ngày và tính giây từ đó. Điều này đạt được bằng cách gõ lệnh trong app PowerShell trên Windows 10. Bạn có thể copy lệnh từ dưới:

PowerShell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalSeconds"
Hiểu Unix Epoch Time: Chuyển Đổi Timestamp Sang Ngày Giờ Con Người Đọc Được

Lưu ý: Ngày chỉ định là ngày Unix Epoch Timestamp là 1st Tháng 1 Năm 1970.

Có Trình Chuyển Đổi Epoch Time Online Miễn Phí Không?

Hiểu Unix Epoch Time: Chuyển Đổi Timestamp Sang Ngày Giờ Con Người Đọc Được

Nếu bạn muốn dùng trình chuyển đổi online để chuyển Unix Epoch timestamp sang ngày bình thường, có vài trang web hữu ích:

  • Epoch Converter

Trang web này cung cấp dịch vụ miễn phí cho người dùng và hỗ trợ chuyển Epoch và Unix Time Stamps sang ngày con người đọc được. Bạn nhập Epoch timestamp vào hộp văn bản và nhấn nút Timestamp to Human date.

  • Unix Timestamp.

Trang web này cung cấp Epoch Time hiện tại dựa trên real-time, và bạn có thể quan sát sự thay đổi số giây sau mỗi lần refresh trang (F5). Nó cũng cung cấp chuyển đổi bất kỳ Unix Time Stamp nào sang ngày con người. Ví dụ, tôi nhập 2 theo sau 9 số 0 và ngày ra là 13 năm trong tương lai.

Hiểu Unix Epoch Time: Chuyển Đổi Timestamp Sang Ngày Giờ Con Người Đọc Được

Chia Sẻ Suy Nghĩ Của Bạn Về Unix Epoch Timestamp.

Unix Epoch Timestamp dường như khái niệm phức tạp trước khi tôi nghiên cứu. Tôi đã chia sẻ tất cả những gì tôi thu thập từ internet và các nguồn khác. Unix Epoch Timestamp chỉ là một ngày đặt bằng giây đóng vai trò điểm xuất phát cho hầu hết máy tính tính ngày hôm nay bằng giây.

Bạn cũng có thể tìm thấy chúng tôi trên Facebook, Twitter, YouTube, Instagram, Flipboard, và Pinterest.