Here are some interesting facts that should help you drive your Y2K case home:
The Gartner Group estimates that converting computer systems to handle 21st century date information will cost between $400 billion and $600 billion worldwide. They also estimate that 25 percent to 50 percent of all computerized organizations will not achieve full Year 2000 compliance in time. Software Productivity Research, Inc. estimates the total cost of reaching the millennium, including software, hardware, and database repairs, plus litigation expenses and damage awards, at $1.635 trillion. Don't be a statistic!
When checking your code, keep these dates in mind:
1/1/2000 Change for the 1900's to the 2000's.
12/31/2000: The year 2000 is a leap year, so remember, this date will be the 366th day of the year;
1/1/2001: First day in the 21st Century. This is the last leap year related date. You'll want to test your system to make sure the first day of January 2001 can be set;
1/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;
2/29/2001: Ensure that this date is NOT processed as a leap year;
2/29/2004: Ensure that this date IS processed as a leap year.
As you're planning your Y2K strategy, keep these important input-related questions and considerations in mind. Where are dates accepted as input? Are they stored as dates or string? What are the date parsing rules? What are the dependencies for the date parsing functionality? What are the dependencies for evaluating those rules? Do users or the system ever enter a special date that has an understood meaning different from an actual date, such as 9/9/99?
As you are planning your Y2K strategy, keep these important calculation-related questions and considerations in mind. What date calculations are performed? Are type conversions required to perform the date calculations? Are they consistent with the rules for parsing date input? Is there a leap year calculation function?
As you are planning your Y2K strategy, keep these important display-related questions and considerations in mind. How are the dates formatted for display? Are system calls used for formatting dates? Does your application reference any system setting to change display? If so, how can it be changed?
As you're planning your Y2K strategy, keep these important storage-related questions and considerations in mind. First, how are dates stored by each of your applications? What are the data structure names, types, etc.? What are the logical limits? Do conversion functions go back and forth to other date storage such as the PC system date or the server date?