Thời gian Unix là một hệ đếm thời gian trên máy tính. Hệ này tính số giây đã trải qua kể từ 0 giờ 0 phút 0 giây ngày 1 tháng 1 năm 1970. Ví dụ, thời gian unix vào đúng 8 giờ sáng GMT +7 hôm nay là 1568854800.

Giới hạn của thời gian Unix là 2147483647 (2.15 tỉ) giây. Đây là do biến số giây được lưu dưới dạng 32 bit nhị phân, với bit đầu tiên là dấu âm / dương (trước / sau 0:0:0 1/1/1970). Như vậy, thời gian Unix chỉ đếm được tới 2^31-1 giây (số 0 + 31 số 1 trong nhị phân), khi đồng hồ đếm thêm 1 giây nữa ( số 1 +31 số 0 trong nhị phân) máy sẽ hiểu đây là số âm, và đồng hồ nhảy về 2147483648 giây trước, tức năm 1901.

Như vậy, con số tối đa mà đồng hồ Unix có thể hiển thị là 3 giờ 14 phút 07 giây ngày 19 tháng 1 năm 2038. Đây được gọi là “Vấn đề năm 2038” (Year 2038 Problem), và là một lỗi phổ biến trong lập trình, quản trị mạng, máy chủ. Đây cũng là một lỗi đã được biết đến và dự tính trước tương tự như lỗi “Y2K”.

Phần lớn máy tính và máy chủ hiện nay không bị ảnh hưởng. Hầu như tất cả các máy tính chạy hệ điều hành 64 bit, các smartphone và thiết bị thông minh khác, cũng như các máy chủ mới đều đã hoặc đang chuyển qua hệ 64 bit nhị phân, với bit đầu có dấu. Hệ này cho phép lưu thời gian lên gần 300 tỉ năm, tức là gấp hơn 20 lần tuổi của vũ trụ. Giới hạn biến “năm” là 32 bit, cho phép tính toán thời gian tới hơn 2 tỉ năm.

Lỗi này chủ yếu ảnh hưởng các phần mềm client. Các phần mềm dùng hệ thống tính giờ 32 bit rất khó được cập nhật lên tính giờ 64 bit vì kích thước biến, các phép toán và hàm cho biến 32 bit, lỗi tương thích nhị phân, v.v.

Tuy nhiên, các máy chủ hầu như chắc chắn đã hoạt động trên nền tảng 64 bit. Do vậy, khi các thông số, dữ liệu trên máy chủ có dính dáng tới ngày tháng sau 2038, ví dụ như 50 năm nữa, 70 năm nữa, v.v, phần mềm client chỉ hiển thị tới ngày xa nhất có thể là 19/1/2038.

Thành ra, những bạn có acc DOTA bị ban tới năm 2038 hãy yên tâm. Các bạn không bị ban 20 năm đâu.