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.

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 an individual born before 1900 and 40 for those born in or after 2000.

Microsoft Excel
Microsoft Excel (using the default 1900 Date System) 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 the first second of January 1, 1900, in the 1900 Date System (or January 2, 1904, in the 1904 Date System – the default for Macintosh prior to Excel 2016). Numbers smaller than this display as a  error.

For compatibility with Lotus 1-2-3, the 1900 Date System incorrectly accepts the date February 29, 1900, even though 1900 was not a leap year. This also has the side effect that the WEEKDAY function reports incorrect values for the period Jan 01 1900 to Feb 28 1900.