Further problems may arise because of the fact that computer files and databases store years as two digits. Since many computer applications make date comparisons, or make calculations based on dates, such as may happen in hydrology models, problems could be foreseen when using the systems into the next century. Imagine the problems with overdue payment computations, loan interest calculations, sorting by date, and many other areas. Date calculations are just one of the problems that will occur at the turn of the century. Many systems were programmed years ago when the millennium seemed a long way off, so “99” and “00” weren’t treated like real dates. Some programmers used these two convenient, easily remembered values as codes for assigning a special status to an invoice or client. For example, a birth year of “99” might indicate that a client is deceased, so he or she should not receive any marketing solicitations. A birth year of “00” might indicate that a customer has declared bankruptcy, so he or she should not be extended any credit. Another related issue is one of leap year calculation. Here is the proper way to determine whether or not a given year is a leap year: If the year is divisible by 4, it is a leap year—but like every rule there is an exception. If the year is divisible by 100, it is not a leap year. Unfortunately, there is also an exception to the exception. If the year is also divisible by 400, it is a leap year. This means that the year 2000, being evenly divisible by 400, is a leap year. Applications that don't apply the third rule above will incorrectly assume that 2000 is not a leap year. Because of this leap year issue, we may not even see all of the Year 2000 problems until February 29, 2000. |