The Year 2000 problem (Y2K) was the potential for computer errors on the Gregorian calendar 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, e.g. 1985 as 85, 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. In the years leading up to the turn of the millennium, the public gradually became aware of the "Y2K scare", and individual companies predicted the global damage caused by the bug would require anything between $400 billion and $600 billion to rectify. A lack of clarity regarding the potential dangers of the bug led some to stock up on food, water, and firearms, purchase backup generators, and withdraw large sums of money in anticipation of a computer-induced apocalypse. Contrary to published expectations, few major errors occurred in 2000. Supporters of the Y2K remediation effort argued that this was primarily due to the pre-emptive action of many computer programmers and information technology experts. Companies and organizations in some countries, but not all, had checked, fixed, and upgraded their computer systems to address the problem. U.S. President Bill Clinton, who organized efforts to minimize the damage in the United States, labelled Y2K as "the first challenge of the 21st century successfully met", and retrospectives on the event typically commend the programmers who worked to avert the anticipated disaster. Critics argued that even in countries where very little had been done to ready software, problems were minimal. The same was true in sectors such as schools and small businesses, where compliance with Y2K policies was inconsistent at best.
Background Y2K is a numeronym and was the common abbreviation for the year 2000 software problem. The abbreviation combines the letter Y for "year", the number 2 and a capitalized version of k for the SI unit prefix kilo meaning 1000; hence, 2K signifies 2000. It was also named the "millennium bug" because it was associated with the popular (rather than literal) rollover of the millennium, even though most of the problems could have occurred at the end of any century. Computerworld's 1993 three-page "Doomsday 2000" article by Peter de Jager was called "the information-age equivalent of the midnight ride of Paul Revere" by The New York Times. The problem was the subject of the early book Computers in Crisis by Jerome and Marilyn Murray (Petrocelli, 1984; reissued by McGraw-Hill under the title The Year 2000 Computing Crisis in 1996). Its first recorded mention on a Usenet newsgroup is from 18 January 1985, by Spencer Bolles. The acronym Y2K has been attributed to Massachusetts programmer David Eddy in an e-mail sent on 12 June 1995. He later said, "People were calling it CDC (Century Date Change), FADL (Faulty Date Logic). There were other contenders. Y2K just came off my fingertips." The problem started because on both mainframe computers and later personal computers, memory was expensive, from as low as $10 per kilobyte to more than US $100 per kilobyte in 1975. It was therefore very important for programmers to minimize usage. Since computers only gained wide usage in the 20th century, programs could simply prefix "19" to the year of a date, allowing them to only store the last two digits of the year instead of four. As space on disc and tape storage was also expensive, these strategies saved money by reducing the size of stored data files and databases in exchange for becoming unusable past the year 2000. This meant that programs facing two-digit years could not distinguish between dates in 1900 and 2000. Dire warnings at times were in the mode of:
The Y2K problem is the electronic equivalent of the El Niño and there will be nasty surprises around the globe. — John Hamre, United States Deputy Secretary of Defense Options on the De Jager Year 2000 Index, "the first index enabling investors to manage risk associated with the ... computer problem linked to the year 2000" began trading mid-March 1997. Special committees were set up by governments to monitor remedial work and contingency planning, particularly by crucial infrastructures such as telecommunications, to ensure that the most critical services had fixed their own problems and were prepared for problems with others. While some commentators and experts argued that the coverage of the problem largely amounted to scaremongering, it was only the safe passing of the main event itself, 1 January 2000, that fully quelled public fears. Some experts who argued that scaremongering was occurring, such as Ross Anderson, professor of security engineering at the University of Cambridge Computer Laboratory, have since claimed that despite sending out hundreds of press releases about research results suggesting that the problem was not likely to be as big as some had suggested, they were largely ignored by the media. In a similar vein, the Microsoft Press book Running Office 2000 Professional, published in May 1999, accurately predicted that most personal computer hardware and software would be unaffected by the year 2000 problem. Authors Michael Halvorson and Michael Young characterized most of the worries as popular hysteria, an opinion echoed by Microsoft Corp.
Programming problem The practice of using two-digit dates for convenience predates computers, but was never a problem until stored dates were used in calculations.
Bit conservation need
Business data processing was done using unit record equipment and punched cards, most commonly the 80-column variety employed by IBM, which dominated the industry. Many tricks were used to squeeze needed data into fixed-field 80-character records. Saving two digits for every date field was significant in this effort. In the 1960s, computer memory and mass storage were scarce and expensive. Early core memory cost one dollar per bit. Popular commercial computers, such as the IBM 1401, shipped with as little as 2 kilobytes of memory. Programs often mimicked card processing techniques. Commercial programming languages of the time, such as COBOL and RPG, processed numbers in their character representations. Over time, the punched cards were converted to magnetic tape and then disc files, but the structure of the data usually changed very little. Data was still input using punched cards until the mid-1970s. Machine architectures, programming languages and application designs were evolving rapidly. Neither managers nor programmers of that time expected their programs to remain in use for many decades, and the possibility that these programs would both remain in use and cause problems when interacting with databases – a new type of program with different characteristics – went largely uncommented upon.
Early attention The first person known to publicly address this issue was Bob Bemer, who had noticed it in 1958 as a result of work on genealogical software. He spent the next twenty years fruitlessly trying to raise awareness of the problem with programmers, IBM, the government of the United States and the International Organization for Standardization. This included the recommendation that the COBOL picture clause should be used to specify four digit years for dates. In the 1980s, the brokerage industry began to address this issue, mostly because of bonds with maturity dates beyond the year 2000. By 1987 the New York Stock Exchange had reportedly spent over $20 million on Y2K, including hiring 100 programmers. Despite magazine articles on the subject from 1970 onward, the majority of programmers and managers only started recognizing Y2K as a looming problem in the mid-1990s, but even then, inertia and complacency caused it to be mostly unresolved until the last few years of the decade. In 1989, Erik Naggum was instrumental in ensuring that internet mail used four digit representations of years by including a strong recommendation to this effect in the internet host requirements document RFC 1123. On April Fools' Day 1998, some companies set their mainframe computer dates to 2001, so that "the wrong date will be perceived as good fun instead of bad computing" while having a full day of testing. While using 3-digit years and 3-digit dates within that year was used by some, others chose to use the number of days since a fixed date, such as 1 January 1900. Inaction was not an option, and risked major failure. Embedded systems with similar date logic were expected to malfunction and cause utilities and other crucial infrastructure to fail. Saving space on stored dates persisted into the Unix era, with most systems representing dates to a single 32-bit word, typically representing dates as elapsed seconds from some fixed date, which causes the similar Y2K38 problem.
Resulting bugs from date programming
Storage of a combined date and time within a fixed binary field is often considered a solution, but the possibility for software to misinterpret dates remains because such date and time representations must be relative to some known origin. Rollover of such systems is still a problem but can happen at varying dates and can fail in various ways. For example:
Credit card systems experienced issues with machines not correctly processing credit cards that expired in the new millennium and customers being charged incorrect compound interest. An upscale grocer's 1997 credit-card caused a crash of their 10 cash registers, repeatedly, due to year 2000 expiration dates, and was the source of the first Y2K-related lawsuit. The Microsoft Excel spreadsheet program had a very elementary Y2K problem: Excel (in both Windows and Mac versions, when they are set to start at 1900) incorrectly set the year 1900 as a leap year for compatibility with Lotus 1-2-3. In addition, the years 2100, 2200, and so on, were regarded as leap years. This bug was fixed in later versions, but since the epoch of the Excel timestamp was set to the meaningless date of 0 January 1900 in previous versions, the year 1900 is still regarded as a leap year to maintain backward compatibility. The C programming language's standard library's date and time handling header defines a struct type struct tm whose year member represents the year minus 1900. Perl's localtime and gmtime functions, derived from their C equivalents, as well as Java's Date class's getYear() method treat the year the same way. This led to a "popular misconception" that these functions returned the year as a two-digit number. Many programs written in Perl or Java, two programming languages widely used in web development, incorrectly treated this value as the last two digits of the year. On the web this was usually a harmless presentation bug, but it did cause many dynamically generated web pages to display 1 January 2000, as "1/1/19100", "1/1/100", or other variants, depending on the display format. JavaScript was changed due to concerns over the Y2K bug, and the return value for years changed and thus differed between versions from sometimes being a four digit representation and sometimes a two-digit representation forcing programmers to rewrite already working code to make sure web pages worked for all versions. Older applications written for the commonly used UNIX Source Code Control System failed to handle years that began with the digit "2". In the Windows 3.x file manager, dates displayed as 1/1/19:0 for 1/1/2000 (because the colon is the character after "9" in the ASCII character set). An update was available. Some software, such as Math Blaster Episode I: In Search of Spot which only treats years as two-digit values instead of four, will give a given year as "1900", "1901", and so on, depending on the last two digits of the present year.
Similar date bugs
4 January 1975 The date of 4 January 1975, overflowed the 12-bit field that had been used in the Decsystem 10 operating systems. There were numerous problems and crashes related to this bug while an alternative format was developed.
9 September 1999 Even before 1 January 2000, arrived, there were also some worries about 9 September 1999 (albeit less than those generated by Y2K). Because this date could also be written in the numeric format 9/9/99, it could have conflicted with the date value 9999, frequently used to specify an unknown date. It was thus possible that database programs might act on the records containing unknown dates on that day. Data entry operators commonly entered 9999 into required fields for an unknown future date, (e.g., a termination date for cable television or telephone service), in order to process computer forms using CICS software. Somewhat similar to this is the end-of-file code 9999, used in older programming languages. While fears arose that some programs might unexpectedly terminate on that date, the bug was more likely to confuse computer operators than machines.
Leap years
Normally, a year is a leap year if it is evenly divisible by four. A year divisible by 100 is not a leap year in the Gregorian calendar unless it is also divisible by 400. For example, 1600 was a leap year, but 1700, 1800 and 1900 were not. Some programs may have relied on the oversimplified rule that "a year divisible by four is a leap year". This method works fine for the year 2000 (because it is a leap year), and will not become a problem until 2100, when older legacy programs will likely have long since been replaced. Other programs contained incorrect leap year logic, assuming for instance that no year divisible by 100 could be a leap year. An assessment of this leap year problem including a number of real-life code fragments appeared in 1998. For information on why century years are treated differently, see Gregorian calendar.
Year 2010 problem 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 binary-coded decimal encodings of numbers. Both hexadecimal and BCD encode the numbers 0–9 as 0x0–0x9. BCD encodes the number 10 as 0x10, while hexadecimal encodes the number 10 as 0x0A; 0x10 interpreted as a hexadecimal encoding represents the number 16. For example, because the SMS protocol uses BCD for dates, some mobile phone software incorrectly reported dates of SMSes as 2016 instead of 2010. Windows Mobile is the first software reported to have been affected by this glitch; in some cases WM6 changes 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 (except the Slim model). The most important occurrences of such a glitch were in Germany, where up to 20 million bank cards became unusable, and with Citibank Belgium, whose Digipass customer identification chips failed.
Year 2022 problem When the year 2022 began, many systems using 32-bit integers encountered problems, which are now collectively known as the Y2K22 bug. The maximum value of a signed 32-bit integer, as used in many computer systems, is 2147483647. Systems using an integer to represent a 10 character date-based field, where the leftmost two characters are the 2-digit year, ran into an issue on 1 January 2022, when the leftmost characters needed to be '22', i.e. values from 2200000001 needed to be represented. Microsoft Exchange Server was one of the more significant systems affected by the Y2K22 bug. The problem caused emails to be stuck on transport queues on Exchange Server 2016 and Exchange Server 2019, reporting the following error: The FIP-FS "Microsoft" Scan Engine failed to load. PID: 23092, Error Code: 0x80004005. Error Description: Can't convert "2201010001" to long.
Year 2038 problem
Many systems use Unix time and store it in a signed 32-bit integer. This data type is only capable of representing integers between −(231) and (231)−1, treated as number of seconds since the epoch at 1 January 1970 at 00:00:00 UTC. These systems can only represent times between 13 December 1901 at 20:45:52 UTC and 19 January 2038 at 03:14:07 UTC. If these systems are not updated and fixed, then dates all across the world that rely on Unix time will incorrectly display the year as 1901 beginning at 03:14:08 UTC on 19 January 2038.
Programming solutions Several very different approaches were used to solve the year 2000 problem in legacy systems.
Date expansion Two-digit years were expanded to include the century (becoming four-digit years) in programs, files, and databases. This was considered the "purest" solution, resulting in unambiguous dates that are permanent and easy to maintain. This method was costly, requiring massive testing and conversion efforts, and usually affecting entire systems. Date windowing Two-digit years were retained, and programs determined the century value only when needed for particular functions, such as date comparisons and calculations. (The century "window" refers to the 100-year period to which a date belongs.) This technique, known as date windowing, required installing small patches of code into programs, and was simpler to test and implement than date expansion, thus much less costly. While not a permanent solution, windowing fixes were usually designed to work for many decades. This was thought acceptable, as older legacy systems tend to eventually get replaced by newer technology. Date compression Dates can be compressed into binary 14-bit numbers. This allows retention of data structure alignment, using an integer value for years. Such a scheme is capable of representing 16384 different years; the exact scheme varies by the selection of epoch. Date re-partitioning In legacy databases whose size could not be economically changed, six-digit year/month/day codes were converted to three-digit years (with 1999 represented as 099 and 2001 represented as 101, etc.) and three-digit days (ordinal date in year). Only input and output instructions for the date fields had to be modified, but most other date operations and whole record operations required no change. This delays the eventual roll-over problem to the end of the year 2899. Software kits Software kits, such as those listed in CNN.com's Top 10 Y2K fixes for your PC: ("most ... free") which was topped by the $50 Millennium Bug Kit. Real Time Clock Upgrades One unique solution found prominence. While other fixes worked at the BIOS level as TSRs (Terminate and Stay Resident), intercepting BIOS calls, Y2000RTC was the only product that worked as a device driver and replaced the functionality of the faulty RTC with a compliant equivalent. This driver was rolled out in the years before the 1999/2000 deadline onto millions of PCs. Bridge programs Date servers where Call statements are used to access, add or update date fields.
Documented errors
Before 2000 In late 1998, the American electric company Commonwealth Edison reported a computer upgrade intended to prevent the Y2K glitch caused them to erroneously send the village of Oswego, Illinois, an electric bill for $7 million. On 1 January 1999, taxi meters in Singapore stopped working, while in Sweden, incorrect taxi fares were given. At midnight on 1 January 1999, at three airports in Sweden, computers used by police to generate temporary passports stopped working. On 8 February 1999, while testing Y2K compliance in a computer system monitoring nuclear core rods at Peach Bottom Nuclear Generating Station, Pennsylvania, instead of resetting the time on the external computer meant to simulate the date rollover a technician accidentally changed the time on the operation systems computer. This computer had not yet been upgraded, and the date change caused all the computers at the station to crash. It took approximately seven hours to restore all normal functions, during which time workers had to use obsolete manual equipment to monitor plant operations. In November 1999, approximately 500 residents in Philadelphia received jury duty summonses for dates in 1900. In December 1999, in the United Kingdom, a software upgrade intended to make computers Y2K compliant prevented social services in Bedfordshire from finding if anyone in their care was over 100 years old, since computers failed to recognize the dates of birth being searched. In late December 1999, Telecom Italia (now Gruppo TIM), Italy's largest telecom company, sent a bill for January and February 1900. The company stated this was a one-time error and that it had recently ensured its systems would be compatible with the year rollover. On 28 December 1999, 10,000 card swipe machines issued by HSBC and manufactured by Racal stopped processing credit and debit card transactions. This was limited to machines in the United Kingdom, and was the result of the machines being designed to ensure transactions had been completed within four business days; from 28 to 31 December they interpreted the future dates to be in the year 1900. Stores with these machines relied on paper transactions until they started working again on 1 January. On 31 December 1999, at 7:00 pm EST, as a direct result of a patch intended to prevent the Y2K glitch, computers at a ground control station in Fort Belvoir, Virginia crashed and ceased processing information from five spy satellites, including three KH-11 satellites. The military implemented a contingency plan within 3 hours by diverting their feeds and manually decoding the scrambled information, from which they were able to produce a limited dataset. All normal functionality was restored at 11:45 pm on 2 January 2000.
On 1 January 2000 Problems that occurred on 1 January 2000, were generally regarded as minor. Consequences did not always result exactly at midnight. Some programs were not active at that moment and problems would only show up when they were invoked. Not all problems recorded were directly linked to Y2K programming in a causality; minor technological glitches occur on a regular basis. Reported problems include:
In Australia, bus ticket validation machines in two states failed to operate. In Japan: machines in 13 train stations stopped dispensing tickets for a short time. in Ishikawa, the Shika Nuclear Power Plant reported that radiation monitoring equipment failed at a few seconds after midnight. Officials said there was no risk to the public, and no excess radiation was found at the plant. at two minutes past midnight, the telecommunications carrier Osaka Media Port found date management mistakes in their network. A spokesman said they had resolved the issue by 02:43 and did not interfere with operations. NTT Mobile Communications Network (NTT Docomo), Japan's largest cellular operator, reported that some models of mobile telephones were deleting new messages received, rather than the older messages, as the memory filled up. Fifteen security companies discovered glitches in programs used for trading. Officials said that fourteen of them resolved all issues within a day. In South Korea: at midnight, 902 ondol heating systems and water heating failed at an apartment building near Seoul; the ondol systems were down for 19 hours and would only work when manually controlled, while the water heating took 24 hours to restart. two hospitals in Gyeonggi Province reported malfunctions with equipment measuring bone marrow and patient intake forms, with one accidentally registering a newborn as having been born in 1900, and four people in the city of Daegu received medical bills with dates in 1900. a court in Suwon sent out notifications containing a trial date for 4 January 1900. a video store in Gwangju accidentally generated a late fee of approximately 8 million won (approximately $7,000 US dollars) because the store's computer determined a tape rental to be 100 years overdue. South Korean authorities stated the computer was a model anticipated to be incompatible with the year rollover, and had not undergone the software upgrades necessary to make it compliant. Korea University sent graduation certificates dated 13 January 1900. In Hong Kong, police breathalyzers failed at midnight. In Jiangsu, China, taxi meters failed at midnight. In Egypt, three dialysis machines briefly failed. In Greece, approximately 30,000 cash registers, amounting to around 10% of the country's total, printed receipts with dates in 1900. In Denmark, the first baby born on 1 January was recorded as being 100 years old. In France, the national weather forecasting service, Météo-France, said a Y2K bug made the date on a webpage show a map with Saturday's weather forecast as "01/01/19100". Additionally, the government reported that a Y2K glitch rendered one of their Syracuse satellite systems incapable of recognizing onboard malfunctions. In Germany: at the Deutsche Oper Berlin, the payroll system interpreted the new year to be 1900 and determined the ages of employees' children by the last two digits of their years of birth, causing it to wrongly withhold government childcare subsidies in paychecks. To reinstate the subsidies, accountants had to reset the operating system's year to 1999. a bank accidentally transferred 12 million Deutsche Marks (equivalent to $6.2 million) to a customer and presented a statement with the date 30 December 1899. The bank quickly fixed the incorrect transfer. In Italy, courthouse computers in Venice and Naples showed an upcoming release date for some prisoners as 10 January 1900, while other inmates wrongly showed up as having 100 additional years on their sentences. In Mali, a program for tracking trains throughout the country failed. In Norway, a day care center for kindergarteners in Oslo offered a spot to a 105-year-old woman because the citizen's registry only showed the last two digits of citizens' years of birth. In Spain, a worker received a notice for an industrial tribunal in Murcia which listed the event date as 3 February 1900. In Sweden, the main hospital in Uppsala, a hospital in Lund, and two regional hospitals in Karlstad and Linköping reported that machines used for reading electrocardiogram information failed to operate, although the hospitals stated it had no effect on patient health. In Sheffield, United Kingdom, a Y2K bug that was not discovered and fixed until 24 May caused computers to miscalculate the ages of pregnant mothers, which led to 154 patients receiving incorrect risk assessments for having a child with Down syndrome. As a direct result two abortions were carried out, and four babies with Down syndrome were also born to mothers who had been told they were in the low-risk group. In Brazil, at the Port of Santos, computers which had been upgraded in July 1999 to be Y2K compliant could not read three-year customs registrations generated in their previous system once the year rolled over. Santos said this affected registrations from before June 1999 that companies had not updated, which Santos estimated was approximately 20,000, and that when the problem became apparent on 10 January they were able to fix individual registrations, "in a matter of minutes". A computer at Viracopos International Airport in São Paulo state also experienced this glitch, which temporarily halted cargo unloading. In Jamaica, in the Kingston and St. Andrew Corporation, 8 computerized traffic lights at major intersections stopped working. Officials stated these lights were part of a set of 35 traffic lights known to be Y2K non-compliant, and that all 35 were already slated for replacement. In the United States: the US Naval Observatory, which runs the master clock that keeps the country's official time, gave the date on its website as 1 Jan 19100. the Bureau of Alcohol, Tobacco, Firearms and Explosives could not register new firearms dealers for 5 days because their computers failed to recognize dates on applications. 150 Delaware Lottery racino slot machines stopped working. In New York, a video store accidentally generated a $91,250 late fee because the store computer determined a tape rental was 100 years overdue. In Tennessee, the Y-12 National Security Complex stated that a Y2K glitch caused an unspecified malfunction in a system for determining the weight and composition of nuclear substances at a nuclear weapons plant, although the United States Department of Energy stated they were still able to keep track of all material. It was resolved within three hours, no one at the plant was injured, and the plant continued carrying out its normal functions. In Chicago, for one day the Chicago Federal Reserve Bank could not transfer $700,000 from tax revenue; the problem was fixed the following day. Additionally, another bank in Chicago could not handle electronic Medicare payments until 6 January, during which time the bank had to rely on sending processed claims on diskettes. In New Mexico, the New Mexico Motor Vehicle Division was temporarily unable to issue new driver's licenses. The campaign website for United States presidential candidate Al Gore gave the date as 3 January 19100 for a short time. Godiva Chocolatier reported that cash registers in its American outlets failed to operate. They first became aware of and determined the source of the problem on 2 January, and immediately began distributing a patch. A spokesman reported that they restored all functionality to most of the affected registers by the end of that day and had fixed the rest by noon on 3 January. The credit card companies MasterCard and Visa reported that, as a direct result of the Y2K glitch, for weeks after the year rollover a small percentage of customers were being charged multiple times for transactions. Microsoft reported that, after the year rolled over, Hotmail e-mails sent in October 1999 or earlier showed up as having been sent in 2099, although this did not affect the e-mail's contents or the ability to send and receive e-mails.
After January 2000
On 29 February and 1 March 2000
Problems were reported on 29 February 2000, Y2K's first leap year day, and 1 March 2000. These were mostly minor.
In New Zealand, an estimated 4000 electronic terminals could not properly authenticate transactions. In Japan, around five percent of post office cash dispensers failed to work, although it was unclear if this was the result of the Y2K glitch. In addition, 6 observatories failed to recognize 29 February while over 20 seismographs incorrectly interpreted the date 29 February to be 1 March, and data from 43 weather bureau computers that had not been updated for compliance was corrupted, causing them to release inaccurate readings on 1 March. In Singapore, on 29 February subway terminals would not accept some passenger cards. In Bulgaria, police documents were issued with expiration dates of 29 February 2005, and 29 February 2010 (which are not leap years) and the police computer system defaulted to 1900. In Canada, on 29 February a program for tax collecting and information in the city of Montreal interpreted the date to be 1 March 1900; although it remained possible to pay taxes, computers miscalculated interest rates for delinquent taxes and residents could not access tax bills or property evaluations. Despite being the day before taxes were due, to fix the glitch authorities had to entirely turn off the city's tax system. In the United States, on 29 February the archiving system of the Coast Guard's message processing system was affected. At Reagan National Airport, on 29 February a computer program for curbside baggage handling initially failed to recognize the date, forcing passengers to use standard check-in stations and causing significant delays. At Offutt Air Force Base south of Omaha, Nebraska, on 29 February records of aircraft maintenance and parts could not be accessed or updated by computer. Workers continued normal operations and relied on paper records for the day.
On 31 December 2000, or 1 January 2001 Some software did not correctly recognize 2000 as a leap year, and so worked on the basis of the year having 365 days. On the last day of 2000 (day 366) and first day of 2001 these systems exhibited various errors. Some computers also treated the new year 2001 as 1901, causing errors. These were generally minor.
The Swedish bank Nordbanken reported that its online and physical banking systems went down 5 times between 27 December 2000, and 3 January 2001, which was believed to be due to the Y2K glitch. In Norway, on 31 December 2000, the Norwegian State Railways reported that all 29 of its new Signatur trains failed to run because their onboard computers considered the date invalid, causing some delays. As an interim measure, engineers restarted the trains by resetting their clocks back by a month and used older trains to cover some routes. In Hungary, computers at over 1000 drug stores stopped working on 1 January 2001, because they did not recognize the new year as a valid date. In South Africa, on 1 January 2001, computers at the First National Bank interpreted the new year to be 1901, affecting approximately 16,000 transactions and causing customers to be charged incorrect interest rates on credit cards. First National Bank first became aware of the problem on 4 January and fixed it the same day. A large number of cash registers at the convenience store chain 7-Eleven stopped working for card transactions on 1 January 2001, because they interpreted the new year to be 1901, despite not having had any prior glitches. 7-Eleven reported the registers had been restored to complete functionality within two days. In Connecticut, in early January the Connecticut Department of Motor Vehicles sent duplicate motor vehicle tax bills for vehicles that had their registrations renewed between 2 October 1999, and 30 November 1999, affecting 23,000 residents. A spokesman stated the Y2K glitch caused these vehicles to be double-entered in their system. In Multnomah County, Oregon, in early January approximately 3000 residents received jury duty summonses for dates in 1901. Due to using two-digit years when entering the summons dates, courthouse employees had not seen that the computer inaccurately rolled over the year.
Since 2000
Since 2000, various issues have occurred due to errors involving overflows. An issue with time tagging caused the destruction of the NASA Deep Impact spacecraft. Some software used a process called date windowing to fix the issue by interpreting years 00–19 as 2000–2019 and 20–99 as 1920–1999. As a result, a new wave of problems started appearing in 2020, including parking meters in New York City refusing to accept credit cards, issues with Novitus point of sale units, and some utility companies printing bills listing the year 1920. The video game WWE 2K20 also began crashing when the year rolled over, although a patch was distributed later that day. The iPhone struggles with birthdate changes around Y2K.
Government responses
Bulgaria Although the Bulgarian national identification number allocates only two digits for the birth year, the year 1900 problem and subsequently the Y2K problem were addressed by the use of unused values above 12 in the month range. For all persons born before 1900, the month is stored as the calendar month plus 20, and for all persons born in or after 2000, the month is stored as the calendar month plus 40.
Canada Canadian Prime Minister Jean Chrétien's most important cabinet ministers were ordered to remain in the capital Ottawa, and gathered at 24 Sussex Drive, the prime minister's residence, to watch the clock. 13,000 Canadian troops were also put on standby.
Netherlands The Dutch Government promoted Y2K Information Sharing and Analysis Centers (ISACs) to share readiness between industries, without threat of antitrust violations or liability based on information shared.
Norway and Finland Norway and Finland changed their national identification numbers to indicate a person's century of birth. In both countries, the birth year was historically indicated by two digits only. This numbering system had already given rise to a similar problem, the "Year 1900 problem", which arose due to problems distinguishing between people born in the 19th and 20th centuries. Y2K fears drew attention to an older issue, while prompting a solution to a new problem. In Finland, the problem was solved by replacing the hyphen ("-") in the number with the letter "A" for people born in the 21st century (for people born before 1900, the sign was already "+"). In Norway, the range of the individual numbers following the birth date was altered from 0–499 to 500–999.
Romania Romania also changed its national identification number in response to the Y2K problem, due to the birth year being represented by only two digits. Before 2000, the first digit, which shows the person's sex, was 1 for males and 2 for females. Individuals born since 1 January 2000, have a number starting with 5 if male or 6 if female.
Uganda The Ugandan government responded to the Y2K threat by setting up a Y2K Task Force. In August 1999 an independent international assessment by the World Bank International Y2k Cooperation Centre found that Uganda's website was in the top category as "highly informative". This put Uganda in the "top 20" out of 107 national governments, and on a par with the United States, United Kingdom, Canada, Australia and Japan, and ahead of Germany, Italy, Austria, Switzerland which were rated as only "somewhat informative". The report said that "Countries which disclose more Y2K information will be more likely to maintain public confidence in their own countries and in the international markets."
United States In 1998, the United States government responded to the Y2K threat by passing the Year 2000 Information and Readiness Disclosure Act, by working with private sector counterparts in order to ensure readiness, and by creating internal continuity of operations plans in the event of problems and set limits to certain potential liabilities of companies with respect to disclosures about their year 2000 programs. The effort was coordinated by the President's Council on Year 2000 Conversion, headed by John Koskinen, in coordination with the Federal Emergency Management Agency (FEMA), and an interim Critical Infrastructure Protection Group within the Department of Justice. The US government followed a three-part approach to the problem: (1) outreach and advocacy, (2) monitoring and assessment, and (3) contingency planning and regulation.
A feature of US government outreach was Y2K websites, including y2k.gov, many of which have become inaccessible in the years since 2000. Some of these websites have been archived by the National Archives and Records Administration or the Wayback Machine. Each federal agency had its own Y2K task force which worked with its private sector counterparts; for example, the FCC had the FCC Year 2000 Task Force. Most industries had contingency plans that relied upon the internet for backup communications. As no federal agency had clear authority with regard to the internet at this time (it had passed from the Department of Defense to the National Science Foundation and then to the Department of Commerce), no agency was assessing the readiness of the internet itself. Therefore, on 30 July 1999, the White House held the White House Internet Y2K Roundtable. The U.S. government also established the Center for Year 2000 Strategic Stability as a joint operation with the Russian Federation. It was a liaison operation designed to mitigate the possibility of false positive readings in each nation's nuclear attack early warning systems.
International cooperation The International Y2K Cooperation Center (IY2KCC) was established at the behest of national Y2K coordinators from over 120 countries when they met at the First Global Meeting of Na
