Year 1900 problem

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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[edit]

February 29, 1900 in the Polish-language version of Microsoft Excel for Microsoft Windows

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 Excel 2016 for Mac, the number 1.0 represents January 1, 1900, which is different from its previous versions.

MICROSOFT OFFICE 2019 DESKTOP on 64-bit Windows, last updated September 2018

Considers 0 to be January 1, 1904.

365	1904-12-31
  1	1904-01-02
  0	1904-01-01
 -1    -1904-01-02

[3]

In addition to this, Excel incorrectly regards 1900 as a leap year, and allows February 29, 1900 to be entered as a date. This is for compatibility with Lotus 1-2-3, which also had this bug.[4]

Year 4000 problem[edit]

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.[5][6]

See also[edit]

References[edit]

  1. ^ "5-Year-Old Boy Summoned For Jury Duty". WBAL-TV. 8 March 2006. Archived from the original on 30 September 2011. Retrieved 31 March 2017.
  2. ^ How to Work With Dates Before 1900 in Excel
  3. ^ Personal communication, I just did this with this version on my 64-bit Windows Lenovo laptop
  4. ^ Excel 2000 incorrectly assumes that the year 1900 is a leap year
  5. ^ In the year 9999...., Chris Hemedinger
  6. ^ The Conversion of Date and Time Values between SAS Data Sets and Microsoft Access Database, SAS 9.4 documentation