Time formatting and storage bugs facts for kids
Computers keep track of time and dates using numbers. But sometimes, these numbers can cause problems if the computer program isn't designed to handle them correctly. It's like a car's odometer that can only count up to a certain number before it resets! These "date bugs" can make programs crash, show wrong dates, or stop working altogether. The most famous one was the Y2K problem, but many other date-related issues have happened or are expected to happen.
Contents
- Early Computer Date Problems
- Problems Around the Year 2000
- Recent Date and Time Glitches
- Year 2007: Sierra Games Freeze Again
- Year 2010: The "Y2K+10" Problem
- Year 2011: Taiwan's Calendar Change
- Year 2013: Deep Impact Space Probe Lost
- Year 2019: More GPS and Calendar Changes
- Year 2020: Game Crashes and Parking Meters
- Year 2021: Samsung Phone Battery Stats
- Year 2022: Microsoft Exchange and Car GPS Issues
- Year 2024: Leap Year Problems
- Year 2025: Japanese Calendar and Spanish Trains
- Year 2026: Xbox 360 Date Limit
- Future Date and Time Glitches
- Year 2028: Old Software Limits
- Year 2032: Palm OS Limit
- Year 2036: Network Time Protocol Rollover
- Year 2038: The Next Big One (Unix Time)
- Year 2040: Apple Mac and ProDOS Limits
- Year 2042: IBM Mainframe Clock Rollover
- Year 2048: SAP Planning Limit
- Year 2058: Fourth GPS Rollover
- Year 2069: Two-Digit Year Confusion
- Year 2079: Days Count Rollover
- Year 2080: Nokia Phones and Old Systems
- Year 2100: Not a Leap Year!
- Year 2106: Unsigned Unix Time Rollover
- Year 2108: FAT File System Limit
- Year 2137: GPS 13-bit Rollover
- Year 2248: RISC OS Limit
- Year 2262: High-Resolution Time Overflow
- Year 2286: Ten Billion Seconds
- Year 2446: ext4 File System Extension
- Years 4000, 8000, etc.: Gregorian Calendar Adjustments
- Year 4501: Microsoft Outlook Placeholder
- Year 10,000: Five-Digit Year
- Years 29,228 and 30,828: Very Long-Term Limits
- Years 32,768 and 65,536: 16-bit Year Problems
- Year 33,658: Unix Archive Timestamps
- Year 100,000: Six-Digit Year
- Year 275,760: JavaScript Date API Limit
- Year 292,277,026,596: The Ultimate Unix Time Limit
- Other Time-Related Problems
- Historic Year Problems
- See also
Early Computer Date Problems
Year 1975: The DATE75 Bug
Back in 1975, a computer system called TOPS-10 had a problem. It used a small number (12 bits) to store dates. This number could only go up to January 4, 1975. After that date, the computer ran out of space for the date, causing a bug known as "DATE75." Programmers found a way to fix it, pushing the limit to 2052, but this sometimes caused other issues.
Year 1978: PDP-8's Short Year
Another computer system, OS/8 for the PDP-8, was even more limited. It only used three bits for the year, meaning it could only understand years from 1970 to 1977. After 1977, it couldn't tell what year it was!
Year 1993: Freezing Games
Many games from a company called Sierra Entertainment started freezing on September 18, 1993. This happened on older Apple Mac computers. The games tried to figure out how long a delay should be by looking at the date, but a math problem caused them to get stuck. A fix was released, but it only worked for about 14 years.
Year 1997: Apollo Computers Stop Working
On November 2, 1997, computers running Apollo's Domain/OS operating system stopped working. This system stored time as a special 48-bit number. When this number got too big, the system couldn't handle it anymore, making the computers unusable until they were fixed.
Problems Around the Year 2000
Year 1999: GPS Rollover
GPS (Global Positioning System) devices use a special way to count weeks. They use a 10-bit number for the week, which means it can only count up to 1,024 weeks (about 19.6 years). After that, the week number resets to zero. This first happened on August 21, 1999. It happened again on April 6, 2019. Newer GPS systems use a 13-bit number, which will last much longer, until 2137.
Year 1999: The 9/9/99 Problem
Many old computer programs used "9/9/99" as a special code to mean "no date" or "end of data." When the actual date September 9, 1999, arrived, these programs got confused and crashed.
Year 2000: The Y2K Bug
The "Year 2000 problem," or Y2K, was a big deal. Many computer programs only used two digits for the year (like "99" for 1999). This meant that when the year 2000 came, computers might think it was 1900. People worried this would cause widespread chaos, but many programmers worked hard to fix it before it became a huge problem.
Year 2001: The "Billennium" Bug
Some systems that counted time as seconds since January 1, 1970 (called the "Unix epoch") had a small issue on September 9, 2001. This was when the time reached one billion seconds. It wasn't a widespread problem, but some systems had minor glitches.
Recent Date and Time Glitches
Year 2007: Sierra Games Freeze Again
The fix for the Sierra games that froze in 1993 only worked for so long. On May 28, 2007, these games started freezing again! It was the same kind of math problem, but the fix itself eventually ran into its own date limit.
Year 2010: The "Y2K+10" Problem
When the year changed to 2010, some systems had new problems. This was sometimes called "Y2K+10."
- Some mobile phones showed message dates as 2016 instead of 2010 because of how they stored numbers.
- In Germany, millions of bank cards stopped working.
- The PlayStation 3 (except the Slim model) thought 2010 was a leap year, even though it wasn't, causing a program error on March 1, 2010.
Year 2011: Taiwan's Calendar Change
Taiwan uses a different calendar where 1912 is Year 1. So, 2011 was their Year 100. If systems only used two digits for the year, they might have shown 2011 as 1911, causing confusion.
Year 2013: Deep Impact Space Probe Lost
The Deep Impact space probe, which studied comets, lost contact with Earth on August 11, 2013. This was due to a problem with how it stored time. It used a 32-bit number to count tenths of seconds since January 1, 2000, and this number eventually overflowed.
Year 2019: More GPS and Calendar Changes
- The second GPS week number rollover happened on April 6, 2019. This caused some computerized telescopes to stop working correctly.
- In Japan, Emperor Akihito stepped down, and a new emperor, Naruhito, took over. This meant a new "era name" for the Japanese calendar. Many computer programs weren't ready for this change, as they hadn't been tested for a new era.
Year 2020: Game Crashes and Parking Meters
- Video games like WWE 2K20 and Star Wars Jedi: Fallen Order crashed on January 1, 2020. Players had to set their console's year back to 2019 to play!
- Parking meters in New York City couldn't accept credit cards.
- Some smartwatches showed the wrong day of the week.
- Older Apple Mac computers (Classic Mac OS) and Microsoft Schedule+ programs couldn't set dates past December 31, 2019.
Year 2021: Samsung Phone Battery Stats
Samsung phones with certain updates stopped showing battery and charging statistics in 2021.
Year 2022: Microsoft Exchange and Car GPS Issues
- On January 1, 2022, a part of Microsoft Exchange (a mail server program) had a problem with its malware-scanning updates because of a date overflow.
- Honda and Acura cars made between 2004 and 2012 showed the year as 2002 on their GPS systems. This was fixed later in the year.
Year 2024: Leap Year Problems
- Payment card readers at gas stations in New Zealand couldn't handle the leap year (February 29, 2024), so they couldn't dispense gas.
- Video games EA Sports WRC and Theatrhythm Final Bar Line also crashed or showed corrupted save data because of the leap year.
- A 30-year-old bug in HCL Notes (a mail program) was found. If the server started on or after December 13, 2024, mail wouldn't be delivered.
Year 2025: Japanese Calendar and Spanish Trains
- Some older Japanese computer systems might have problems in 2025 because they still count years based on an old era, where 2025 would be "Shōwa 100," which could confuse programs expecting two-digit years.
- In Spain, some Talgo AVRIL trains stopped working on January 1, 2025, due to a date bug in their battery charging system.
Year 2026: Xbox 360 Date Limit
You can't manually set the date on an Xbox 360 past December 31, 2025. While the system will continue to advance time, users can't pick a date beyond that point.
Future Date and Time Glitches
Year 2028: Old Software Limits
Some older systems store the year as a small number (one byte) that counts from 1900. If this number is treated incorrectly, it can only go up to 2027. After that, dates will be wrong.
Year 2032: Palm OS Limit
Older Palm OS devices have a limit of 2031 for their year values, meaning they won't be able to handle dates correctly after that.
Year 2036: Network Time Protocol Rollover
The Network Time Protocol (NTP), which helps computers keep accurate time, has a timestamp that will roll over on February 7, 2036.
Year 2038: The Next Big One (Unix Time)
This is often called the "next Y2K." Many computer systems, especially those based on Unix, store time as a 32-bit number of seconds since January 1, 1970. This number will get too big and "roll over" on January 19, 2038. This could cause problems for many older systems and applications. Most modern systems have been updated to use a larger 64-bit number, which will last for a very, very long time.
Year 2040: Apple Mac and ProDOS Limits
Older Apple Mac computers (before macOS X Snow Leopard) stored time in a way that will cause issues after February 6, 2040. The date will "wrap around" back to 1904. Similarly, old Apple II computers using ProDOS might show wrong dates after 2039.
Year 2042: IBM Mainframe Clock Rollover
The Time of Day Clock (TODC) on IBM mainframe computers will roll over on September 18, 2042. This clock is used for timing and creating unique IDs.
Year 2048: SAP Planning Limit
The SAP S/4HANA business software used to only support planning dates up to January 19, 2048. Newer updates have fixed this, allowing dates up to the year 9999.
Year 2058: Fourth GPS Rollover
The GPS week number will roll over for the fourth time on July 7, 2058.
Year 2069: Two-Digit Year Confusion
Some computer programs that read two-digit years might get confused in 2069. They might think "69" means 1969 instead of 2069.
Year 2079: Days Count Rollover
Some programs count dates as the number of days since a starting point. If they use a 16-bit number, they could have problems around 2079, as the number of days might become too large or even turn negative.
Year 2080: Nokia Phones and Old Systems
Some older Nokia phones (Series 40) can't display dates after December 31, 2079. Also, some systems that store the year as a two-digit number might reset to 1980 after 2079.
Year 2100: Not a Leap Year!
The year 2100 is not a leap year (even though it's divisible by 4, it's also divisible by 100 but not by 400). Many computer programs might incorrectly assume it is a leap year, causing dates to be off by a day (showing February 29, 2100, instead of March 1, 2100).
- Old DOS and Windows file systems officially support dates only up to December 31, 2099.
- Nintendo DS, GameCube, and PlayStation 4 consoles also have date limits around 2099.
Year 2106: Unsigned Unix Time Rollover
Some systems use an "unsigned" 32-bit number for Unix time. This number will roll over on February 7, 2106.
Year 2108: FAT File System Limit
The FAT file system, used on many older computers and USB drives, stores the year as a small 7-bit number relative to 1980. This means it can't handle dates beyond December 31, 2107. This also affects ZIP files.
Year 2137: GPS 13-bit Rollover
The newer 13-bit GPS week number systems will roll over to zero in 2137.
Year 2248: RISC OS Limit
The RISC OS operating system stores dates in a way that will overflow on June 3, 2248.
Year 2262: High-Resolution Time Overflow
Some very precise timekeeping systems, like those counting nanoseconds since 1970, will overflow on April 11, 2262.
Year 2286: Ten Billion Seconds
Systems that store Unix time as a 10-character string might have problems after November 20, 2286, when the time reaches ten billion seconds.
Year 2446: ext4 File System Extension
The ext4 file system, common on Linux computers, has a special way to extend its timestamps, pushing its date limit to May 2446.
Years 4000, 8000, etc.: Gregorian Calendar Adjustments
The Gregorian calendar, which we use, isn't perfectly aligned with Earth's rotation over thousands of years. Some scientists have suggested changes to how leap years are counted for years like 4000 and 8000. Most software currently treats 4000 as a leap year, but some programs like SAS have adopted a different rule, which could cause date differences in the far future.
Year 4501: Microsoft Outlook Placeholder
Microsoft Outlook uses January 1, 4501, as a special "empty" or "none" date.
Year 10,000: Five-Digit Year
The year 10,000 will be the first year with five digits. Many programs and file systems (like Microsoft Excel, ISO 9660, and UDF) are designed to handle dates only up to 9999, so they will need updates.
Years 29,228 and 30,828: Very Long-Term Limits
- Programs using the .NET framework (like C#) store dates with very high precision. These will overflow on September 14, 29,228.
- Windows operating systems store dates in a similar way, which will overflow on September 14, 30,828.
Years 32,768 and 65,536: 16-bit Year Problems
Programs that store years using 16-bit numbers might have problems with the year 32,768 (where it might be seen as a negative number) or 65,536 (where it might show up as year 0).
Year 33,658: Unix Archive Timestamps
Unix archive files store timestamps as a string of numbers. This will roll over on September 27, 33,658.
Year 100,000: Six-Digit Year
The year 100,000 will be the first year with six digits, which will likely cause new problems for programs not designed for such long numbers.
Year 275,760: JavaScript Date API Limit
JavaScript programs using its Date API can only store dates up to September 13, 275,760.
Year 292,277,026,596: The Ultimate Unix Time Limit
Systems that use 64-bit numbers for Unix time can represent dates until December 4, 292,277,026,596. This is so far in the future that it's mostly a theoretical limit!
Other Time-Related Problems
Relative Time Overflow
Sometimes, problems happen not with specific dates, but with how long a system has been running.
- Microsoft: Older Windows versions (like Windows 95/98) and some Microsoft software had issues where they would freeze or fail after about 49 days of continuous use because they ran out of space to count milliseconds.
- Boeing: Boeing 787 airplanes had software issues where their generator control systems could crash after 248 days of continuous operation, or systems would show misleading data after 51 days. This required planes to be powered down regularly.
- Arduino: The Arduino platform, popular for hobby electronics, has a function that counts milliseconds since it started. This counter resets every 49 days, so programmers need to be careful when timing things over longer periods.
Historic Year Problems
Computers can also have problems with very old dates, such as:
- The Year 0 problem (some calendars don't have a year zero).
- The Year 1000 problem (similar to Y2K, but for the year 1000).
- The Year 1582 problem (when the Gregorian calendar was introduced, skipping many days).
- The Year 1900 problem (similar to Y2K, but for 1900, which was not a leap year).
See also
- Software bug
- Long Now Foundation
- Year 2000 problem
- Year 2038 problem