Year 10,000 problem
   HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
,
data type In computer science and computer programming, a data type (or simply type) is a collection or grouping of data values, usually specified by a set of possible values, a set of allowed operations on these values, and/or a representation of these ...
limitations and
software bugs A software bug is a design defect ( bug) in computer software. A computer program with many or serious bugs may be described as ''buggy''. The effects of a software bug range from minor (such as a misspelled word in the user interface) to sev ...
can cause errors in time and date calculation or display. These are most commonly manifestations of arithmetic overflow, but can also be the result of other issues. The best-known consequence of this type is the Y2K problem, but many other milestone dates or times exist that have caused or will cause problems depending on various programming deficiencies.


Year 1975

On 5 January 1975, the 12-bit field that had been used for dates in the
TOPS-10 TOPS-10 System (Timesharing / Total Operating System-10) is a discontinued operating system from Digital Equipment Corporation (DEC) for the PDP-10 (or DECsystem-10) mainframe computer family. Launched in 1967, TOPS-10 evolved from the earlier "Mo ...
operating system for DEC
PDP-10 Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
computers overflowed, in a bug known as "DATE75". The field value was calculated by taking the number of years since 1964, multiplying by 12, adding the number of months since January, multiplying by 31, and adding the number of days since the start of the month; putting into this gives 4 January 1975, which is therefore the latest encodable date. The "DATE-75" patch pushed the last encodable date to 1 February 2052, making the overflow date 2 February 2052, by using 3 spare bits from other fields in the file system's
metadata Metadata (or metainformation) is "data that provides information about other data", but not the content of the data itself, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive ...
, but this sometimes caused problems with software that used those bits for its own purposes. Some software may have supported using one additional bit for the date but had issues with additional bits, which could have resulted in some bugs on 9 January 1986.


Year 1978

The Digital Equipment Corporation OS/8 operating system for the
PDP-8 The PDP-8 is a family of 12-bit minicomputers that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units sold during the model's lifetime. Its basic design follows the pi ...
computer used only three bits for the year, representing the years 1970 to 1977. This was recognized when the COS-310 operating system was developed, and dates were recorded differently.


Year 1993

Multiple
Sierra Entertainment Sierra Entertainment, Inc. (formerly On-Line Systems and Sierra On-Line, Inc.) was an American video game developer and Video game publisher, publisher founded in 1979 by Ken Williams (game developer), Ken and Roberta Williams. The company is ...
games released for the
Classic Mac OS Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Mac (computer), Macintosh family of personal computers by Apple Computer, Inc. from 1984 to 2001, starting with System 1 and end ...
started to freeze when running on 18 September 1993. An issue in the Mac version of Sierra's Creative Interpreter (Mac SCI) would cause the game to "lock-up" when attempting to handle a delay due to a problem involving an overflow. Mac SCI would attempt to use the date to determine how long a delay should last by getting the current time in seconds since 1 January 1904, the Macintosh epoch , and dividing by 12 hours. The division was processed by the
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
and would not occur if an overflow was detected because of the division, but the Mac SCI would continue on regardless as if the division had occurred, eventually resulting in a delay of one second being treated as a delay of 18 hours and so on. Sierra released a patch called MCDATE that resolved the problem for almost 14 years .


Year 1997

In Apollo Computer's Domain/OS operating system, absolute time was stored as a signed 48-bit integer representing the number of 4-microsecond units since 1 January 1980. This value overflowed on 2 November 1997, rendering unpatched systems unusable.


Year 1999

In the last few months before the year 2000, two other date-related milestones occurred that received less publicity than the then-impending Y2K problem.


First GPS rollover

GPS dates are expressed as a week number and a day-of-week number, with the week number transmitted as a ten- bit value. This means that every 1,024 weeks (about 19.6 years) after Sunday 6 January 1980, (the GPS
epoch In chronology and periodization, an epoch or reference epoch is an instant in time chosen as the origin of a particular calendar era. The "epoch" serves as a reference point from which time is measured. The moment of epoch is usually decided b ...
), the date resets again to that date; this happened for the first time at 23:59:47 on 21 August 1999, the second time at 23:59:42 UTC on 6 April 2019, and will happen again on 20 November 2038. To address this concern, modernised GPS navigation messages use a 13-bit field, which only repeats every 8,192 weeks (157 years), and will not return to zero until the year 2137.


9/9/99

Many legacy programs or data sets used "9/9/99" as a rogue value to indicate either an unresolved date or as a terminator to indicate no further data was in the set. This caused many systems to crash upon the arrival of the actual date this represents: 9 September 1999.


Year

2000 2000 was designated as the International Year for the Culture of Peace and the World Mathematics, Mathematical Year. Popular culture holds the year 2000 as the first year of the 21st century and the 3rd millennium, because of a tende ...


Two-digit year representations

The term year 2000 problem, or simply Y2K, refers to potential computer errors related to the formatting and storage of calendar data for dates in and after the year 2000. Many programs represented four-digit years with only the final two digits, making the year 2000 indistinguishable from 1900. Computer systems' inability to distinguish dates correctly had the potential to bring down worldwide infrastructures for computer reliant industries. For applications required to calculate the birth year (or another past year), such an algorithm has long been used to overcome the year 1900 problem, but it has failed to recognise people over 100 years old.


Year 2001

Systems that used a string of nine digits to record the time as seconds since the
Unix epoch Unix time is a date and time representation widely used in computing. It measures time by the number of non-leap seconds that have elapsed since 00:00:00 UTC on 1 January 1970, the Unix epoch. For example, at midnight on 1 January 2010, ...
had issues reporting times beyond the one-billionth second after the epoch on 9 September 2001 at 01:46:40 (the "billennium"). Problems were not widespread.


Year 2007

Sierra Entertainment games for the Classic Mac OS that were patched with the MCDATE program or released afterwards with the patch built in would begin to freeze on 28 May 2007. As with the Year 1993 problem, this was due to an issue in the Mac SCI when attempting to use the date to determine how long a delay should last. Programs with the MCDATE patch freeze because the Mac SCI takes the current number of seconds since the Macintosh epoch of 1 January 1904, subtracts 432,000,000 seconds from that, and then divides by 12 hours through the Motorola 68000, to then determine how long delays should last. On 28 May 2007, the Motorola 68000 again does not divide due to overflow protection, which the Mac SCI ignores.


Year 2010

Some systems had problems once the year rolled over to 2010. This was dubbed by some in the media as the "Y2K+10" or "Y2.01k" problem. The main source of problems was confusion between hexadecimal number encoding and BCD encodings of numbers. The numbers 0 through 9 are encoded in both hexadecimal and BCD as 00 through 09. But the decimal number 10 is encoded in hexadecimal as 0A and in BCD as 10. Thus a BCD 10 interpreted as a hexadecimal encoding erroneously represents the decimal number 16. For example, the SMS protocol uses BCD encoding for dates, so some mobile phone software incorrectly reported dates of messages as 2016 instead of 2010.
Windows Mobile Windows Mobile is a discontinued mobile operating system developed by Microsoft for smartphones and personal digital assistants (PDA). Designed to be the portable equivalent of the Windows desktop OS in the emerging Mobile device, mobile/port ...
was the first software reported to have been affected by this glitch; in some cases WM6 changed the date of any incoming SMS message sent after 1 January 2010, from the year 2010 to 2016. Other systems affected include EFTPOS terminals, and the
PlayStation 3 The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
(except the Slim model). Sony's
PlayStation 3 The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
incorrectly treated 2010 as a
leap year A leap year (also known as an intercalary year or bissextile year) is a calendar year that contains an additional day (or, in the case of a lunisolar calendar, a month) compared to a common year. The 366th day (or 13th month) is added to keep t ...
, so the non-existent 29 February 2010, was shown on 1 March 2010, causing a program error. The most important such glitch occurred in Germany, where upwards of 20 million bank cards became unusable, and with Citibank Belgium, whose digipass customer identification chips stopped working.


Year 2011

Taiwan Taiwan, officially the Republic of China (ROC), is a country in East Asia. The main geography of Taiwan, island of Taiwan, also known as ''Formosa'', lies between the East China Sea, East and South China Seas in the northwestern Pacific Ocea ...
officially uses the
Minguo calendar The Republic of China calendar, often shortened to the ROC calendar or the ''Minguo'' calendar, is a calendar used in Taiwan Area, Taiwan, Penghu, Kinmen, and Matsu. The calendar uses 1912, the year of the establishment of the Republic of Chi ...
, which considers the Gregorian year 1912 to be its year 1. Thus, the Gregorian year 2011 is the ROC year 100, its first 3-digit year. This causes the year to appear to be 1911 (Year 0) if 2-digit representations are used.


Year 2013

The Deep Impact space probe lost communication with Earth on 11 August 2013, because of a time-tagging problem; the date was stored as an unsigned 32-bit integer counting the number of tenth-seconds since 1 January 2000.


Year

2019 This was the year in which the first known human case of COVID-19 was documented, preceding COVID-19 pandemic, the pandemic which was declared by the World Health Organization the following year. Up to that point, 2019 had been described as ...


Second GPS rollover

In 2019, the second GPS week number rollover occurred. Meade computerized telescopes with GPS like the LX200GPS could no longer find their location and thus could not align themselves or locate stellar objects. Meade released firmware version 4.2k with a fix but which also introduced many new bugs; version 4.2l (lowercase ''L'', often confused with uppercase ''I'') was then released to fix that, but had more inexplicable changes. A third party, StarPatch, released a hacked version of firmware version 4.2g at no cost to fix these issues.


Japanese calendar transition

On 30 April 2019, Emperor
Akihito Akihito (born 23 December 1933) is a member of the Imperial House of Japan who reigned as the 125th emperor of Japan from 1989 until 2019 Japanese imperial transition, his abdication in 2019. The era of his rule was named the Heisei era, Hei ...
of Japan abdicated in favor of his son
Naruhito Naruhito (born 23 February 1960) is Emperor of Japan. He acceded to the Chrysanthemum Throne following 2019 Japanese imperial transition, the abdication of his father, Akihito, on 1 May 2019, beginning the Reiwa era. He is the 126th monarch, ...
. As years in Japan are traditionally referred to by
era name A regnal year is a year of the reign of a sovereign, from the Latin meaning kingdom, rule. Regnal years considered the date as an ordinal, not a cardinal number. For example, a monarch could have a first year of rule, a second year of rule, a t ...
s that correspond to the reign of each emperor, this resulted in a new era name, , following Naruhito's accession to the throne the following day. Because the previous emperor,
Hirohito , Posthumous name, posthumously honored as , was the 124th emperor of Japan according to the traditional order of succession, from 25 December 1926 until Death and state funeral of Hirohito, his death in 1989. He remains Japan's longest-reigni ...
, died 7 January 1989, and Akihito's reign mostly corresponded with the rise in the use of computers, most software had not been tested to ensure correct behavior on an era change, while testing was further complicated by the fact that the new era name was not revealed until 1 April 2019. Therefore, errors were expected from software that did not anticipate a new era.


Year 2020

The video games '' WWE 2K20'' and '' Star Wars Jedi: Fallen Order'' both crashed on 1 January 2020, when the year rolled over. The glitches could only be circumvented by resetting the year back to 2019 until a patch was released. Additionally, Crystal Reports 8.5 would fail to generate specific reports starting in 2020. Parkeon parking meters in New York City and other locations were unable to accept credit cards as a form of payment starting in 2020. A workaround was implemented, but required each meter to be individually updated. In New York, the meters were not expected to be fixed until 9 January. In Poland, 5,000
cash register A cash register, sometimes called a till or automated money handling system, is a mechanical or electronic device for registering and calculating transactions at a point of sale. It is usually attached to a Cash register#Cash drawer, drawer fo ...
s stopped printing the date out properly.
Suunto Suunto Oy is a Finland, Finnish company that manufactures and markets sports watches, dive computers, compasses and precision instruments. Headquartered in Vantaa, Finland, Suunto employs more than 300 people worldwide, and its products are sold ...
sport smart watches displayed an error in computing weekdays that were presented with a +2 step (e.g. FRI rather than WED, SAT rather than THU). For Suunto Spartan model watches, the bug was fixed with firmware release 2.8.32.


Classic Mac OS

The control panel in Classic Mac OS versions 6, 7, and 8 only allows the date to be set as high as 31 December 2019, although the system is able to continue to advance time beyond that date.


Microsoft Schedule+

Microsoft Schedule+ will refuse to work with years greater than 2020 or beyond in the version included with version 3.0 of the Microsoft Mail email client, due to the fact that the program was designed to operate within a 100-year time window ranging from 1920 to 2019. As a result, the date can only be set as high as 31 December 2019.


Year 2021

Samsung users reported that phones running on the One UI 3.0 update or Android 11 lost access to the battery and charging statistics starting in 2021. Affected devices would not report usage statistics, thus leaving those sections blank.


Year 2022

Dates that are stored in the format yymmddHHMM converted to a signed 32-bit integer overflowed on 1 January 2022, since . Notably affected was the malware-scanning component update numbers of Microsoft Exchange, which appear to be used for a mathematical check to determine the latest update.
Honda commonly known as just Honda, is a Japanese multinational corporation, multinational Conglomerate (company), conglomerate automotive manufacturer headquartered in Minato, Tokyo, Japan. Founded in October 1946 by Soichiro Honda, Honda has bee ...
and
Acura Acura is the luxury and performance division of Japanese automaker Honda, based primarily in North America. The brand was launched on March 27, 1986, marketing luxury and performance automobiles. Acura sells cars in the United States, Canada, M ...
cars manufactured between 2004 and 2012 containing
GPS navigation A satellite navigation (satnav) device or GPS device is a device that uses satellites of the Global Positioning System (GPS) or similar global navigation satellite systems (GNSS). A satnav device can determine the user's geographic coordinat ...
systems incorrectly displayed the year as 2002. This problem was due to an overflow on the GPS epoch. The issue was resolved on August 17, 2022.


Year 2024

Payment card readers at petrol pumps in New Zealand were unable to handle the leap year and were unable to properly dispense gasoline. Video games '' EA Sports WRC'' and '' Theatrhythm Final Bar Line'' also suffered issues related to the leap year, with the former crashing when trying to load the game and the latter claiming that the save data was corrupted. Both games had to be set to the following day of March 1, 2024 to properly work. In December 2024, a 30-year-old bug was found in all versions of HCL Notes. When the server is started on or after December 13, 2024, an overflow would prevent the mail router from loading its configuration, and so no mail is delivered. Patches were released on the next day for all supported versions.


Year 2025

In Japan, some older computer systems using the Japanese calendar that have not been updated still count years according to the
Shōwa era The was a historical period of History of Japan, Japanese history corresponding to the reign of Emperor Shōwa (Hirohito) from December 25, 1926, until Death and state funeral of Hirohito, his death on January 7, 1989. It was preceded by the T ...
. The year 2025 corresponds in those systems to Shōwa 100, which can cause problems if the software assumes two digits for the year. In Spain, all Talgo AVRIL class trains stopped operating on January 1, 2025 due to a date handling bug in the battery charging module, causing delays and cancellations as passengers were relocated in other rolling stock. A bugfix was deployed by the next day, recovering regular service.


Year 2026

The system time on the
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the Xbox (console), original Xbox, it is the second console in the Xbox#Consoles, Xbox series. It was officially unveiled on MTV on May 12, 2005, with detail ...
console can only be advanced until 23:59 on December 31, 2025. The system will continue to advance into 2026 and beyond, however users cannot set the system date past this point.


Year 2028

Some systems store their year as a single-byte offset from 1900, which gives a range of 255 (8 bits) and allows dates up to 2155 to be safely represented. However, not all systems use an unsigned byte: some have been mistakenly coded with a signed byte which only allows a range of 127 years, meaning that the date field in the software will be incorrect after 2027 and can cause unpredictable behaviour. Several pieces of optical-disc software that operate using the ISO 9660 format are affected by this. During the late 1970s, on Data General Nova and Eclipse systems, the World Computer Corporation (doing credit union applications) created a date format with a 16-bit date field, which used seven bits for the year, four bits for the month, and five bits for the day. This allowed dates to be directly comparable using unsigned functions. Some systems, including
HP 3000 The HP 3000 series is a family of 16-bit computing, 16-bit and 32-bit computing, 32-bit minicomputers from Hewlett-Packard. It was designed to be the first minicomputer with full support for time-sharing in the hardware and the operating system, ...
, still use this format, although a patch has been developed by outside consultants.


Year 2031

The system time on the Vtech Tablet console can only be advanced until 23:59 on December 31, 2030. The system will continue to advance into 2031 and beyond, however users cannot set the system date past this point.


Year 2032

Palm OS Palm OS (also known as Garnet OS) is a discontinued mobile operating system initially developed by Palm, Inc., for personal digital assistants (PDAs) in 1996. Palm OS was designed for ease of use with a touchscreen-based graphical user interface. ...
uses both signed integers with the 1970
epoch In chronology and periodization, an epoch or reference epoch is an instant in time chosen as the origin of a particular calendar era. The "epoch" serves as a reference point from which time is measured. The moment of epoch is usually decided b ...
, as well as unsigned integers with the 1904 epoch, for different system functions, such as for system clock, and file dates (see PDB format). While this should result in Palm OS being susceptible to the 2038 problem, Palm OS also uses a 7-bit field for storing the year value, with a different epoch counting from 1904, resulting in a maximum year of 2031 (1904 + 127).


Year 2036

The Network Time Protocol has an overflow issue related to the
Year 2038 problem The year 2038 problem (also known as Y2038, Y2K38, Y2K38 superbug or the Epochalypse) is a time computing problem that leaves some computer systems unable to represent times after 03:14:07 UTC on 19 January 2038. The problem exists in ...
, which manifests itself at 06:28:16 UTC on 7 February 2036, rather than 2038. The 64-bit timestamps used by NTP consist of a 32-bit part for seconds and a 32-bit part for fractional second, giving NTP a time scale that rolls over every 2 seconds (136 years) and a theoretical resolution of 2 second (233 picoseconds). NTP uses an epoch of 1 January 1900. The first rollover occurs in 2036, prior to the UNIX year 2038 problem.


Year 2038


Unix time rollover

The original implementation of the
Unix Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
operating system stored system time as a 32-bit signed integer representing the number of seconds past the
Unix epoch Unix time is a date and time representation widely used in computing. It measures time by the number of non-leap seconds that have elapsed since 00:00:00 UTC on 1 January 1970, the Unix epoch. For example, at midnight on 1 January 2010, ...
(1 January 1970, 00:00:00 UTC). This value will roll over after 19 January 2038, 03:14:07 UTC. This problem has been addressed in most modern Unix and
Unix-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating systems by storing system time as a 64-bit signed integer, although individual applications, protocols, and file formats must be changed as well.


Windows C runtime library

Like the Unix time rollover issue, the 32-bit version of gmtime in the C runtime libraries on Windows has a similar problem. This problem has already manifested in Oracle's Access Manager version 10.1.4.3 for Windows. The Identity Console component sets a cookie containing UI preferences with an expiry of 500,000,000 seconds in the future (approximately 16 years). This is beyond 19 January 2038 and so it throws an exception for certain search activities after 02:20:48 UTC on 17 March 2022 because the gmtime_r() call cannot convert the number provided to a date to write to the cookie. Despite the age of the software (18 June 2009), Oracle issued a patch number 33983548 on 6 April 2022.


Third GPS rollover

The third GPS week number rollover will occur at 20 November 2038, at 23:59:37 UTC.


Year 2040

Apple Mac computers until 2018 stored time in their real-time clocks (RTCs) and
HFS HFS may refer to: Businesses and organisations * Croatian Film Association () * Hellenic Fire Service, Greece * Hospitality Franchise Systems, US Computing * Hierarchical file system, a system for organizing directories and files * Hierarchica ...
filesystems as an unsigned 32-bit number of seconds since 00:00:00 on 1 January 1904. After 06:28:15 on 6 February 2040, (i.e. seconds from the epoch), this will wrap around to 1904:Apple Computer, Inc., ''Inside Macintosh'', Volume II, Addison Wesley, 1985, p. 369 further to this, HFS+, formerly the default filesystem for most Apple computers, is also affected. The replacement
Apple File System Apple File System (APFS) is a Proprietary software, proprietary file system developed and deployed by Apple Inc. for macOS macOS Sierra, Sierra (10.12.4) and later, iOS iOS 10 , 10.3, tvOS 10.2, watchOS 3.2, and all versions of iPadOS. It aim ...
resolves this issue. ProDOS for the
Apple II Apple II ("apple Roman numerals, two", stylized as Apple ][) is a series of microcomputers manufactured by Apple Computer, Inc. from 1977 to 1993. The Apple II (original), original Apple II model, which gave the series its name, was designed ...
computers only supports two-digit year numbers. To avoid Y2K issues, Apple issued a technical note stating that the year number was to represent 1940–2039. Software for the platform may incorrectly display dates beginning in 2040, though a third-party effort is underway to update ProDOS and application software to support years up to 4095.


Year 2042

On 18 September 2042, the Time of Day Clock (TODC) on the S/370 IBM mainframe and its successors, including the current zSeries, will roll over. Older TODCs were implemented as a 64-bit count of 2 microsecond (0.244 ns) units, and the standard base was 1 January 1900, UT. In July 1999 the extended TODC clock was announced, which extended the clock to the right (that is, the extended bits are less significant than the original bits). The actual resolution depends on the model, but the format is consistent, and will, therefore, roll over after 2 microseconds. The TODC value is accessible to user mode programs and is often used for timing and for generating unique IDs for events. While IBM has defined and implemented a longer (128-bit) hardware format on recent machines, which extends the timer on both ends by at least 8 additional bits, many programs continue to rely on the 64-bit format which remains as an accessible subset of the longer timer.


Year 2048

The capacity planning logic in the ERP system SAP S/4HANA supports only finish dates up to 19 January 2048, (24,855 days from 1 January 1980, corresponding to 231 seconds rounded down to full days). This concerns e.g. the production, maintenance and inspection planning. This issue has been patched in newer updates, supporting dates up to the year 9999.


Year 2058


Fourth GPS rollover

The GPS week number rollover will occur for the fourth time on July 7, 2058, at 23:59:41.


Year 2069

According to the
Single UNIX Specification The Single UNIX Specification (SUS) is a standard for computer operating systems, compliance with which is required to qualify for using the "UNIX" trademark. The standard specifies programming interfaces for the C language, a command-line shell, ...
for parsing two-digit years using , "values in the range 9,99shall refer to years 1969 to 1999 inclusive and values in the range 0,68shall refer to years 2000 to 2068 inclusive", meaning that, when parsed by , the two-digit year "69" would be interpreted as 1969 rather than 2069.


Year 2079


Days 32,768 and 65,536

Programs that store dates as the number of days since an arbitrary date (or ''
epoch In chronology and periodization, an epoch or reference epoch is an instant in time chosen as the origin of a particular calendar era. The "epoch" serves as a reference point from which time is measured. The moment of epoch is usually decided b ...
'') are vulnerable to roll-over or wrap-around effects if the values are not wide enough to allow the date values to span a large enough time range expected for the application. Signed 16-bit binary values roll over after 32,768 (2) days from the epoch date, producing negative values. Some mainframe systems experienced software failures because they had encoded dates as the number of days since 1 January 1900, which produced unexpected negative day numbers on the roll-over date of 18 September 1989. Similarly, unsigned 16-bit binary days counts overflow after 65,536 (2) days, which are truncated to zero values. For software using an epoch of 1 January 1900, this will occur on 6 June 2079.


Year 2080

Some (if not all) Nokia phones that run Series 40 (such as the Nokia X2-00) only support dates up to 31 December 2079, and thus will be unable to display dates after this. One workaround is to use the year 1996, 2024 or 2052 in lieu of 2080 (as compatible leap years) to display the correct day of the week, date and month on the main screen. Systems storing the year as a two-digit value 00..99 internally only, like many RTCs, may roll over from 31 December 2079, to the IBM PC and DOS
epoch of 1980-01-01 In chronology and periodization, an epoch or reference epoch is an instant in time chosen as the origin of a particular calendar era. The "epoch" serves as a reference point from which time is measured. The moment of epoch is usually decided b ...
.


Year 2100

DOS and
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
file date
API An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
and conversion functions (such as INT 21h/AH=2Ah) officially support dates up to 31 December 2099 (even though the underlying FAT filesystem would theoretically support dates up to 2107). Hence, DOS-based operating systems, as well as applications that convert other formats to the FAT/DOS format, may show unexpected behavior starting 1 January 2100. Likewise, the Nintendo DS, GameCube and jabbla, as well as the Sony PlayStation 4, only allow users to set dates up to the year 2099. In the case of the Nintendo DS, the system will not advance time beyond 31 December 2099, whereas the GameCube and PS4 will still roll over into 2100 and beyond, even though users of those game consoles cannot manually input the date and time that far out, the jabbla still roll over to 1900


2100 is not a leap year

Another problem will emerge at the end of 28 February 2100, since 2100 is not a
leap year A leap year (also known as an intercalary year or bissextile year) is a calendar year that contains an additional day (or, in the case of a lunisolar calendar, a month) compared to a common year. The 366th day (or 13th month) is added to keep t ...
. As many common implementations of the leap year algorithm are incomplete or are simplified, they may erroneously assume 2100 to be a leap year, causing the date to roll over from 28 February 2100 to 29 February 2100, instead of 1 March 2100. The DS3231 hardware RTC has the 2100 year problem, because it uses 2-digit to store the year.


Year 2106

Many existing file formats, communications protocols, and application interfaces employ a variant of the
Unix Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
date format, storing the number of seconds since the Unix Epoch (midnight UTC, 1 January 1970) as an ''unsigned'' 32-bit binary integer. This value will roll over on 7 February 2106 at 06:28:16 UTC. That is, at this time the number of seconds since 1 January 1970 is FFFF FFFF in hex. This storage representation problem is independent of programs that internally store and operate on system times as 64-bit signed integer values.


Year 2108

The date timestamps stored in FAT filesystems, originally introduced with 86-DOS 0.42 in 1981 and carried over into
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
, PC DOS,
DR-DOS DR-DOS is a disk operating system for IBM PC compatibles, originally developed by Gary A. Kildall's Digital Research, Inc. and derived from Concurrent PC DOS 6.0, which was an advanced successor of CP/M-86. Upon its introduction in 198 ...
etc., will overflow at the end of 31 December 2107. The last modification date stamp (and with DELWATCH 2.0+ also the file deletion date stamp, and since DOS 7.0+ optionally also the last access date stamp and creation date stamp), are stored in the directory entry with the year represented as an unsigned seven bit number (0–127), relative to 1980, and thereby unable to indicate any dates in the year 2108 and beyond. The API functions defined to retrieve these dates officially only support dates up to 31 December 2099. This will also affect the ZIP archive file format, as it uses FAT file modification timestamps internally.


Year 2137

GPS dates are expressed as a week number and a day-of-week number, with the week number initially using a ten- bit value and modernised GPS navigation messages using a 13-bit field. Ten-bit systems would roll over every 1024 weeks (about 19.6 years) after Sunday 6 January 1980 (the GPS
epoch In chronology and periodization, an epoch or reference epoch is an instant in time chosen as the origin of a particular calendar era. The "epoch" serves as a reference point from which time is measured. The moment of epoch is usually decided b ...
), and 13-bit systems roll over every 8192 weeks. Thirteen-bit systems will roll over to zero in 2137.


Year 2248

RISC OS RISC OS () is an operating system designed to run on ARM architecture, ARM computers. Originally designed in 1987 by Acorn Computers of England, it was made for use in its new line of ARM-based Acorn Archimedes, Archimedes personal computers an ...
stores dates as centiseconds (hundredths of a second) since 1 January 1900 in five bytes (40 bits). These timestamps are used internally and exposed in file metadata (load and exec addresses). This value will overflow on 3 June 2248 at 06:57:57.75 UTC.


Year 2262

Some high-resolution timekeeping systems count nanoseconds since using a 64-bit signed integer, which will overflow on at 23:47:16 UTC. The Go programming language's API is one example. Other examples include the Timestamp object in Python pandas, the chrono class in C++ when set to nanosecond precision, and the
QEMU The Quick Emulator (QEMU) is a free and open-source emulator that uses dynamic binary translation to emulate a computer's processor; that is, it translates the emulated binary codes to an equivalent binary format which is executed by the mach ...
timers.


Year 2286

Systems that use a string of length 10 characters to record
Unix time Unix time is a date and time representation widely used in computing. It measures time by the number of non-leap seconds that have elapsed since 00:00:00 Coordinated Universal Time, UTC on 1 January 1970, the Unix Epoch (computing), epoc ...
may have problems reporting times beyond 20 November 2286, at 17:46:39 UTC, ten billion seconds after the Unix epoch.


Year 2446

In
ext4 ext4 (fourth extended filesystem) is a journaling file system for Linux, developed as the successor to ext3. ext4 was initially a series of backward-compatible extensions to ext3, many of them originally developed by Cluster File Systems for ...
, the default file system for many Linux distributions, the bottom two bits of time_extra are used to extend the time fields, deferring the year 2038 problem to the year 2446. Within this "extra" 32-bit field, the lower two bits are used to extend the seconds field to a signed 34-bit integer; the upper 30 bits are used to provide nanosecond timestamp accuracy. Therefore, timestamps will not overflow until May 2446.


Years 4000, 8000, etc.

On time scales of thousands of years, the Gregorian calendar falls behind the astronomical seasons. This is because the Earth's speed of rotation is gradually slowing down, which makes each day slightly longer over time (see
tidal acceleration Tidal acceleration is an effect of the tidal forces between an orbiting natural satellite (e.g. the Moon) and the primary planet that it orbits (e.g. Earth). The acceleration causes a gradual recession of a satellite in a prograde orbit (satel ...
and
leap second A leap second is a one-second adjustment that is occasionally applied to Coordinated Universal Time (UTC), to accommodate the difference between precise time (International Atomic Time (TAI), as measured by atomic clocks) and imprecise solar tim ...
) while the year maintains a more uniform duration. In the 19th century, Sir
John Herschel Sir John Frederick William Herschel, 1st Baronet (; 7 March 1792 – 11 May 1871) was an English polymath active as a mathematician, astronomer, chemist, inventor and experimental photographer who invented the blueprint and did botanical work. ...
proposed a modification to the Gregorian calendar with 969 leap days every 4,000 years, instead of 970 leap days that the Gregorian calendar would insert over the same period. This would reduce the average year to 365.24225 days. Herschel's proposal would make the year 4000, and multiples thereof, common instead of leap. While this modification has often been proposed since, it has never been officially adopted. While most software (including Excel,
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
and R) currently recognizes 4000 and 8000 as leap years (as they are divisible by 400), SAS has adopted the "4000 year rule". Thus, with the current software, date conversions between SAS and other software will go out of sync after 28 February 4000.


Year 4501

Microsoft Outlook Microsoft Outlook is a personal information manager software system from Microsoft, available as a part of the Microsoft 365 software suites. Primarily popular as an email client for businesses, Outlook also includes functions such as Calendari ...
uses the date 1 January 4501 as a placeholder for "none" or "empty".


Year 10,000

The year 10,000 will be the first Gregorian year with five digits. All future years that are powers of 10, as well as dates before the
10th millennium BC The 10th millennium BC spanned the years 10,000 BC to 9001 BC (c. 12 ka to c. 11 ka). It marks the beginning of the transition from the Palaeolithic to the Neolithic via the interim Mesolithic (Northern Europe and Western Europe) a ...
, face similar encoding problems.


Examples

This problem can be seen in the spreadsheet program
Microsoft Excel Microsoft Excel is a spreadsheet editor developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android, iOS and iPadOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a ...
as of 2023, which stores dates as the number of days since 31 December 1899 (day 1 is 1 January 1900) with a fictional leap day in 1900 if using the default 1900 date system. Alternatively, if using the 1904 date system, the date is stored as the number of days since 1 January 1904 (day 1 is 2 January 1904), and there is no leap year problem. The maximum supported date for calculation is 31 December 9999.


Years 29,228 and 30,828

In the C# programming language, or any language that uses
.NET The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
, the DateTime structure stores absolute timestamps as the number of tenth-microseconds (10−7 s, known as "ticks") since midnight UTC on 1 January 1 AD in the
proleptic Gregorian calendar The proleptic Gregorian calendar is produced by extending the Gregorian calendar backward to the dates preceding its official introduction in 1582. In nations that adopted the Gregorian calendar after its official and first introduction, dates occ ...
, which will overflow a signed 64-bit integer on 14 September 29,228 at 02:48:05.4775808 UTC. Timekeeping structures in many of Microsoft's applications and services have 100-nanosecond resolution, such as Power Automate's TIME data type and the TimeSpan parameter in various
Windows PowerShell PowerShell is a shell program developed by Microsoft for task automation and configuration management. As is typical for a shell, it provides a command-line interpreter for interactive use and a script interpreter for automation via a langua ...
commands, and these will all face similar issues. However, dates past 31 December 9999 at 23:59:59.9999999 UTC are considered "unsupported" and time operations will intentionally throw errors when calculations would otherwise result in dates later than 9999. Similarly, in the
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
operating systems, the FILETIME structure stores the number of 100-nanosecond ticks since as a signed 64-bit integer. This value will overflow on 14 September 30,828 at 02:48:05 UTC, after which Windows will not accept dates beyond this day and will display "invalid system time" errors in NTFS.


Years 32,768 and 65,536

Programs that process years as 16-bit values may encounter problems dealing with either the year 32,768 or 65,536, depending on whether the value is treated as a signed or unsigned integer. For the year 32,768 problem, years after 32,767 may be interpreted as negative numbers, beginning with −32,768 which may be displayed as 32,768  BC. The year 65,536 problem is more likely to manifest itself by the year 65,536 showing up as year 0.


Year 33,658

Static library archives built by the ar Unix command store timestamps as an ASCII string containing a decimal number of seconds past the
Unix epoch Unix time is a date and time representation widely used in computing. It measures time by the number of non-leap seconds that have elapsed since 00:00:00 UTC on 1 January 1970, the Unix epoch. For example, at midnight on 1 January 2010, ...
(1 January 1970, 00:00:00 UTC), with a limit of 12 ASCII characters. This value will roll over on 01:46:40 UTC on , one trillion seconds after the Unix epoch.


Year 100,000

The year 100,000 will be the first Gregorian year with six digits.


Year 275,760

JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
's Date API stores dates as the number of milliseconds since 1 January 1970. Dates have a range of ±100,000,000 days from the epoch, meaning that programs written in JavaScript using the Date API cannot store dates past 13 September, AD 275,760.


Year 292,277,026,596

Systems that store Unix time in seconds using signed 64-bit integers can represent dates and times up until 15:30:08 UTC on Sunday, 4 December, AD 292,277,026,596. This year is so far in the future (well beyond the likely lifespan of the
Earth Earth is the third planet from the Sun and the only astronomical object known to Planetary habitability, harbor life. This is enabled by Earth being an ocean world, the only one in the Solar System sustaining liquid surface water. Almost all ...
, the
Sun The Sun is the star at the centre of the Solar System. It is a massive, nearly perfect sphere of hot plasma, heated to incandescence by nuclear fusion reactions in its core, radiating the energy from its surface mainly as visible light a ...
, and even past some predictions of the lifetime of the universe) that it is mainly referenced as a matter of theoretical interest, joke, or an indication that earlier versions like the year 2038 problem cannot be truly "solved" forever.


Relative time overflow


Microsoft

In Microsoft Windows 7, Windows Server 2003, Windows Server 2008, and Windows Vista, TCP connection start information was stored in hundredths of a second, using a 32-bit unsigned integer, which caused TCP connections to fail after 497 days. Microsoft Windows 95 and Windows 98 had a problem with rollovers in a virtual device driver, VTDAPI.VXD, which used unsigned 32-bit integers to measure system runtime in milliseconds; this value would overflow after 49.7 days, causing systems to freeze. Until version 6.0, Microsoft's
.NET The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
platform had a bug that caused threadpool hill-climbing to fail periodically after 49.7 days due to an overflow while handling milliseconds since startup.


Boeing

The
Boeing 787 The Boeing 787 Dreamliner is an American wide-body airliner developed and manufactured by Boeing Commercial Airplanes. After dropping its unconventional Sonic Cruiser project, Boeing announced the conventional 7E7 on January 29, 2003, wh ...
aircraft has had at least two software issues related to time storage. In 2015, an error was reported where system uptime was stored in hundredths of a second, using a signed 32-bit integer; this value would overflow after 248 days, after which the onboard generator control systems would crash, causing the aircraft to lose power. In 2020, the
Federal Aviation Administration The Federal Aviation Administration (FAA) is a Federal government of the United States, U.S. federal government agency within the United States Department of Transportation, U.S. Department of Transportation that regulates civil aviation in t ...
issued an airworthiness directive requiring 787 operators to power their aircraft down completely before reaching 51 days of uptime, since otherwise systems will begin to display misleading data.


Arduino

The
Arduino Arduino () is an Italian open-source hardware and open-source software, software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardwar ...
platform provides relative time via the millis() function. This function returns an unsigned 32-bit integer representing "milliseconds since startup", which will roll over every 49 days. By default, this is the only timing source available in the platform and programs need to take special care to handle rollovers. Internally, millis() is based on counting timer interrupts. Certain powersave modes disable interrupts and therefore stop the counter from advancing during sleep.


Historic year problems

Also, for historic years there might be problems when handling historic events, for example: * Year 0 problem * Year 1000 problem * Year 1414 problem * Year 1582 problem * Year 1900 problem


See also

*
Software bug A software bug is a design defect ( bug) in computer software. A computer program with many or serious bugs may be described as ''buggy''. The effects of a software bug range from minor (such as a misspelled word in the user interface) to sev ...
*
Heisenbug In computer programming jargon, a heisenbug is a software bug that seems to disappear or alter its behavior when one attempts to study it. The term is a pun on the name of Werner Heisenberg, the physicist who first asserted the observer effect ...
*
Long Now Foundation The Long Now Foundation, established in 1996, is an American non-profit organization based in San Francisco that seeks to start and promote a long-term cultural institution. It aims to provide a counterpoint to what it views as today's "faster ...
* year 10000 problem *
year 2038 problem The year 2038 problem (also known as Y2038, Y2K38, Y2K38 superbug or the Epochalypse) is a time computing problem that leaves some computer systems unable to represent times after 03:14:07 UTC on 19 January 2038. The problem exists in ...
*
year 2000 problem The term year 2000 problem, or simply Y2K, refers to potential computer errors related to the Time formatting and storage bugs, formatting and storage of calendar data for dates in and after the year 2000. Many Computer program, programs repr ...


References

{{Year-related problems * * *