Year 2038 problem

Animation showing how the date would reset, represented as a signed 32-bit integer (at 03:14:08 UTC on 19 January 2038).

The Year 2038 problem could affect computers that store time as the number of seconds since 1st January 1970 at 00:00:00 UTC, using a 32-bit signed integer.[1]

The biggest number you can store this way is 2,147,483,647 seconds after 1 January 1970. This means 19th January 2038 at 03:14:07 UTC. The problem begins one second after this time. The computer will add 1 to this 32-bit number, and the computer will set the value to negative 2,147,483,648 seconds. This means 13th December 1901 at 20:45:52 UTC. Depending on how the computer has been programmed, the computer could behave incorrectly or even stop running.

A solution to this problem is to store the time in a 64-bit value, which will work for billions of years. Many computers already store the time in a 64-bit number. Computers that store time in a 32-bit number will need to be reprogrammed before 2038.

References

  1. "The Open Group Base Specifications Issue 6". pubs.opengroup.org. Retrieved 2017-08-25.