# The Year 2038 problem

- Author: @gurupanguji
- Date: 2005-04-21
- URL: https://gurupanguji.com/blog/2005/04/21/the-year-2038-problem/
- Categories: essay, technology

---


Just when you thought that world was saved from a mammoth of a problem called Y2k[check out <a title="Y2k" href="http://en.wikipedia.org/wiki/Y2k">Y2k</a> for an associated set of problems], up comes another one. This time, the premise is on a more beautiful date setting.

It will be due to the simple overflow of an <strong>int</strong> data type - <code>time_t</code>.
<blockquote>Early UNIX programmers had quite a sense of humor. In their documentation for the tunefs utility, a command-line program that fine-tuned the file system on the machine's hard disk, a note at the end reads "You can tune a file system, but you can't tune a fish." A later generation of UNIX authors, fearful that stuffy, humorless corporate drones would remove this cherished pun, added a programmer's comment inside the documentation's source code that read, "Take this out and a UNIX demon will dog your steps until the time_t's wrap around!"

On January 19, 2038, that is precisely what's going to happen.

For the uninitiated, time_t is a data type used by C and C++ programs to represent dates and times internally. (You Windows programmers out there might also recognize it as the basis for the CTime and CTimeSpan classes in MFC.) time_t is actually just an integer, a whole number, that counts the number of seconds since January 1, 1970 at 12:00 AM Greenwich Mean Time. A time_t value of 0 would be 12:00:00 AM (exactly midnight) 1-Jan-1970, a time_t value of 1 would be 12:00:01 AM (one second after midnight) 1-Jan-1970, etc.. Since one year lasts for a little over 31 000 000 seconds, the time_t representation of January 1, 1971 is about 31 000 000, the time_t representation for January 1, 1972 is about 62 000 000, et cetera.</blockquote>
You can read more on the problem and solutions here. <a title="The Y2k+38 Problem" href="http://pw2.netcom.com/~rogermw/Y2038.html">The Year 2038 Problem</a>.
