' Comprehensive List of Potential Y2K Problem Dates
Testing should include a number of critical dates to ensure compliance, so that no problems occur prior to, on, or after January 1, 2000. The algorithms of systems and chips need to be tested for forward and backward processing. Not all systems need to test for all dates listed. Different application domains may have specially significant dates like the fiscal year for business systems. It is up to the program managers to determine which are most likely to impact their systems. The most critical dates that should be considered for testing at this phase include:
November 2, 1997: Overflow HP/Apollo Domain OS
January 1, 1998: To ensure that the digits "98" do not trigger a red flag, result in erroneous branching, or otherwise cause a processing error or that "time error" faults occur. Also to ensure that December 31, 1997 was calculated as the 365th day of 1997. [Found in Y2K patches in mainframes and elsewhere.]
December 31, 1998 to January 1, 1999: To ensure that the digits "99" do not trigger a red flag, result in erroneous branching, or otherwise cause a processing error or that "time error" faults occur. Also to ensure that December 31, 1998 was calculated as the 365th day of 1998. [Found in Y2K patches in mainframes and elsewhere.]
January 1, 1999: Introduction of electronic version of the euro
February 5, 1999: 1st possible airline reservation problems (Max 330-day look-ahead)
Fiscal Year 2000 for Business and Industry: Depending on the business, the fiscal year could start on March 1, 1999, July 1, 1999 or match the government fiscal year of October 1, 1999.
August 22, 1999: Overflow of "end of week" rollovers (e.g., GPS). Unremediated GPS think it's 80/01/06.
September 9, 1999 (9/9/99 or Possibly 9999): To ensure the digits "99" or "9999" do not trigger a red flag, result in erroneous branching, or otherwise cause a processing error
September 30, 1999 to October 1, 1999: This is the last fiscal rollover prior to Y2K [for many including the US Government].
October 1, 1999: First day of fiscal year 2000 [for many including the US Government].
December 31, 1999: Last day before 2-digit year equals 00. Many systems will not operate correctly as they transition to the next day.
January 0, 2000: To ensure this date is NOT processed [some spreadsheets and database applications do have this problem and count January 0 as a day before the 1st]
January 1, 2000: Key date in any compliance testing
January 1, 2000, 1200 Hrs (Noon): Embedded date chip failure has been found
January 3, 2000: First full work day in the new year. First possible payday after rollover.
January 10, 2000: First 7 or 8 character date in YYY/M/DD format (2000/1/10 or 2000/01/10)
January 15, 2000: W2s due
February 28, 2000: To ensure the leap year is being properly accounted for. Many programmers have incorrectly been taught that the year 2000 is not a leap year -- Year 2000 IS a leap year. Systems should be tested to ensure correct handling of the transition to the 29th days of March 2000.
February 29, 2000: To ensure the leap year is being properly accounted for. Some systems may transition to the 29th of March 2000 correctly, but may not allow the date to be set to the 29th. This would happen if a system was reinitialized after the transition and should be explicitly tested for.
February 30, 2000: To ensure that this date is NOT processed [found in some PC applications]
February 31, 2000: To ensure that this date is NOT processed [found in some PC applications]
March 1, 2000: To ensure date calculations have taken leap year into account
April 2, 2000: First change to Daylight Savings Time after rollover (US)
April 15, 2000: Income Tax day
September 30, 2000 to October 1, 2000: This is the first fiscal rollover following Y2K [for many including the US Government].
October 10, 2000: First 8 character date using a 2-digit month (2000/10/10)
October 29, 2000: First return to Standard Time after rollover (US)
December 31, 2000: 366th day of the year 2000. This could be a problem for systems that use Julian dates.
January 1, 2001: First day in the 21st Century. This is the last leap year related date, testing the first day of January 2001 to ensure it can be set.
January 1, 2001: Overflow for Tandem systems
After January 1, 2002: Or any other date past this day, to ensure no processing errors occur in backward calculations and processing of dates in the 1980s and 1990s at this point in time
February 29, 2001: To ensure that this date is NOT processed as a leap year
February 29, 2004: To ensure that this date is processed as a leap year
January 1, 2010: Overflow ANSI C Library
September 30, 2034: Overflow of UNIX time function
January 1, 2037: Rollover date for NTP systems
January 19, 2038: Overflow of UNIX systems
September 18, 2042: Overflow of IBM System/360
2072, Exact Date TBD: Overflow of Milstar Operating System
February 28, 2100: Last Day of February - NOT a leap year
mitre.org |