Skip to main content
Standards

Year 2038 Problem

year 2038 problem

Definition

The Year 2038 Problem (also known as Y2K38) occurs when systems storing Unix timestamps as 32-bit signed integers reach their maximum value of 2,147,483,647 at 03:14:07 UTC on 19 January 2038. The next second causes an integer overflow, wrapping the value to -2,147,483,648, which is interpreted as 13 December 1901. Any software relying on 32-bit time_t will produce incorrect dates from that point onward.

Affected Systems

Whether a system hits this limit depends not on the bit width of the operating system but on the data type used to store the time. Storing it in a 64-bit integer avoids the limit for all practical purposes, but 32-bit time representations can persist in embedded systems (IoT devices, industrial controllers, automotive ECUs), legacy file formats (ext3 filesystem timestamps), outdated database schemas, and libraries that still use 32-bit integers internally. Any system with a long service life that was designed before 64-bit timestamps became common is potentially vulnerable.

Solutions

The fundamental fix is migrating timestamp storage to 64-bit integers, which can represent roughly 292 billion years and is effectively unlimited for practical purposes. The Linux kernel added support for 32-bit systems to handle post-2038 dates in version 5.6 (released 2020). Application developers should audit their libraries and databases for 32-bit timestamp dependencies and plan migrations well in advance of the deadline.

Was this article helpful?

Related Terms

Related Articles