It has been 18 years since Y2K occurred. Now looking to the future another similar occurrence will occur on January 19, 2038 at 03:14:07 UTC with another way that dates are kept in computers. Y2K38 has the potential to be a major problem like a lot thought that Y2K was going to be, however did not turn out to be.
Since Y2K occurred over 18 years ago, lets first look at what Y2K was. When the new century started (technically the last year of the 20th century) in 2000 many people thought computers were going to go completely crazy with the new year. The problem was that many programs used a two-digit year (just as we humans state it often) and that with a year of 00 that when calculated against some other year it was going to produce negative answers and the programs (software) was going to do strange things. In almost all situations software was updated or replaced with new software that used a four-digit year by 1/1/2000.
The big fears on the change was that people thought all electrical and electronic stuff would mess up like power plants, traffic lights, data systems, phones, cars etc. The thing was that some of these were running on computers, but many things did not use a Windows approach to doing dates as mm/dd/yy and instead used a UNIX/Linus approach that tracks seconds from 1/1/1970. The other part was in the 3-5 years before there was a massive remediation.
Y2K encountered a number of things that people now say about Y2K38. First that we donít need to worry now 18 years out that no one will use software and hardware from now or even older than 5 years by then. In the 1970s my college instructors told us about Y2K, but everyone said no problem to worry on until 1997. Now it is donít worry until 2033. First problem is that people and companies do use software and hardware older than five years. Think of how old the programs are you are using now. Is your Office suite, Office 365, 2016 or 2013 or is it older and if 2013 are you going to replace this year? Your computer, how old is it? Do you buy a new one every 3-5 years even if running fine? Are you using Windows 7 or 10? If Windows 7 you have broken the 5-year rule. Yes, there are a few companies that do replace every 3 years, but they are rare. My home PC is 9 years old (I have updated parts), my office is about 6 and my laptop is new being bought this spring.
Y2K38 is problem because the UNIX/Linux operating system (Windows is the operating system most people use on personal computers or iOS on Macs) stores dates in a one-byte field or in 32 binary digits on number of seconds since 1/1/1970 (the approximate date UNIX was developed). The Internet runs on UNIX and most servers and a lot of specialized devices use Linux. 1/9/2038 we will pass the point of seconds since 1/1/1970 that will fit in 32 bits that is normally used for dates and it will roll to 0. The solution will be to change to a 64-bit field which allows storage to billions of years in future. That one I am confident we will not use these strange antiques then. Now as opposed to in 2000 we do have lots of devices connected to the Internet and using processing. The Internet of Things is allowing us to control tons of stuff via the Internet. Recently I took a course on teaching about the Internet of Things (IoT) and we used lightbulbs that are Internet connected to turn off and on and change colors, door bells that allow you to see who at door and talk to them even though hundreds miles away, media storage systems running off Internet, door locks you can use your phone when away to lock, cameras to watch stuff at your business when elsewhere, thermostats so we can cool house in summer when there and control away so when you head home in evening you can lower the thermostat to have house cool when you walk in, etc. That is just touching IoT.
Is 18 years out time to start being concerned? Yes. There are applications running now that do dates that far or further in the future. For instance, mortgages can be 30 years and payoff is after 2038. Programmers and software and software companies need to start now using 64-bit dates instead of 32-bit dates in programs and hardware that uses dates.