Year 2038 problem
From Freepedia
In computing, the year 2038 problem may cause some computer software to fail in or about the year 2038. The problem affects programs that use the POSIX time representation, which represents time as the number of seconds since January 1, 1970. This representation is standard in Unix-like operating systems and also affects software written for most other operating systems because of the broad deployment of C. On most 32-bit systems, the time_t data type used to store this second count is a signed 32-bit integer. The latest time that can be represented in this format, following the POSIX standard, is 03:14:08 UTC on January 19, 2038. Times beyond this moment will "wrap around" and be represented internally as a negative number, and cause programs to fail, since they will see these times not as being in 2038 but rather in 1970 or 1901, depending on the implementation. Erroneous calculations and decisions may therefore result.
There is no easy fix for this problem for existing CPU/OS combinations. Changing the definition of time_t to use a 64-bit type would break binary compatibility for software, data storage, and generally anything dealing with the binary representation of time. Changing time_t to an unsigned 32-bit integer would affect many programs that deal with time differences.
Most operating systems for 64-bit architectures already use 64-bit integers in their time_t. The move to these architectures is already underway and can be reasonably expected to be complete before 2038. Using a 64-bit value will delay the problem date about 300 billion years. (To be more precise, it will happen on Sunday, 4 December 292,277,026,596 [1]). The year 292,277,026,596 problem is not, however, widely regarded as a pressing issue.
See also
External links
- The Year-2038 Bug Website
- Entry in How Stuff Works
- The Project 2038 Frequently Asked Questions
- Critical dates - 2038



