The Year 2038 Bug

You made it through Y2K, but will you make it through Y2038 (also called Y2.038K)?  So why did Y2K go so smoothly? And what is the difference with Y2038?

In Y2K, computers still kept perfect time. The only issue was that software that used only the last two digits of the year had trouble determining that 00 really was greater than 99.  It was just a matter of fixing software to use the full year value as it should have to begin with.

But, Y2038 is entirely different.  In Y2K, computers still kept perfect time and internally had no problem with the roll-over to year 2000.  But not so with Y2038!  In Y2038, computers are going to forget how to tell time and for many will roll-back to Friday, 13 December 1901 at 20:45:52!

This isn't limited to just PCs but many other devices as well.  The specs on my wristwatch says that it even stops in 2038!

The problem is that some "intelligent" person years ago used a long signed integer to store the date in the PC as being the number of seconds from midnight January 1st of 1970.  The problem is that those 31 bits (31 instead of 32 because of the sign bit) only last until Tuesday, 19 January 2038 at 03:14:07 (for all time zones).  At that point the number is too large to fit in a signed integer, overflows, and rolls back.

Why not just add more bits?  Well, the problem isn't limited to just software, but many hardware devices also have this limitation.

How do you fix it?  Well, you'll have to buy new software for every program you own!  And, most all of the computers and hardware will have to be replaced as well!

Can you start fixing it now?  The answer is NO.  Hardware and software vendors are still developing using this year 2038 limitation.

My conclusion as to why everyone is still developing with this limitation are that 1) it would take quite an effort to start implementing a fix and 2) [probably the more correct reason] by not implementing a fix now, people can make more money. Think about it, not only will people make money on the software and hardware they develop now, but several years from now, they have automatic sales generated by the fact that everyone will be forced to buy new software and hardware.  Plus, by waiting to the last minute, not only is there more sales, but they get paid bigger bucks because of the urgency of the problem!

Don't believe me?  Well, listen to what Microsoft says: Dr. GUI on the Year 2038 Bug.

However, in that article he incorrectly states that there is currently a work around that solves the problem by using COleDateTime.  In a followup article, he explains why that doesn't work: More on the Y2.038K Bug.

Conclusion: Be prepared for Y2038!  It is a much much more serious problem than Y2K ever was.  Be prepared to spend lots of money and be prepared for all of the problems once predicted for Y2K to actually happen!!