Year 1900 problem
The year 1900 problem concerns the misinterpretation of years recorded by only their last two digits, and whether they occurred before or after the year 1900. Unlike the year 2000 problem, it is not tied to computer software alone, since the problem existed before electronic computers did and has also cropped up in manual systems.
The most common issue raised by the year 1900 problem regards people's ages. Often, a person's birth year was registered with only two digits, on the assumption that either it was not important exactly how old a person is, or that no one lives longer than one hundred years. In several countries, especially in Europe, a national identification number was introduced (often in the 1950s), including two-digit information about the birth year.
The largest unwelcome side effect from this is people 100 or more years old being mistaken for young children or in some cases, young children being mistaken for adults.[1]
When handling the year 2000 problem, measures were sometimes taken to avoid or rectify this: modifying the national identification number, for instance. For example, year is recorded only with two digits in Bulgarian Uniform civil number; however, a solution was ready as early as the inception of the system in 1975: 20 was added to the month number for individual born before 1900 and 40 for those born in or after 2000.
Microsoft Excel
Microsoft Excel cannot display dates before the year 1900, although this is not due to a two-digit integer being used to represent the year. Excel uses a floating point number to store dates and times. The number 1.0 represents January 1, 1900 (or, in Excel for Mac, January 1, 1904). Numbers smaller than this display as a #VALUE!
error.[2]
In addition, Excel incorrectly regards 1900 as a leap year and allows February 29 to be entered as a date in this year. This is for compatibility with Lotus 1-2-3 which also had this bug.[3]
Year 4000 problem
While most software, including Excel and R, recognize 4000 and 8000 as leap years (as they are divisible by 400), SAS does not (an unofficial "4000 year rule"). Thus date conversions between SAS and other software go out of sync after February 28, 4000 without accounting for that discrepancy.[4][5][dubious – discuss]
See also
References
- ^ "5-Year-Old Boy Summoned For Jury Duty". WBAL Baltimore. March 8, 2006. Retrieved 2009-02-24.[dead link]
- ^ How to Work With Dates Before 1900 in Excel
- ^ Excel 2000 incorrectly assumes that the year 1900 is a leap year
- ^ In the year 9999...., Chris Hemedinger
- ^ The Conversion of Date and Time Values between SAS Data Sets and Microsoft Access Database, SAS 9.4 documentation