1900年問題は、下2桁のみで記録された年が1900年より前か後かを誤って解釈してしまうことに関する問題です。2000年問題とは異なり、この問題はコンピュータソフトウェアだけに起因するものではなく、電子計算機が登場する以前から存在し、手動システムでも発生していました。
1900年問題で最もよく取り上げられるのは、人々の年齢に関する問題です。多くの場合、生年は2桁の数字のみで登録されていました。これは、正確な年齢は重要ではない、あるいは100歳以上生きる人はいない、という前提に基づいていたためです。いくつかの国、特にヨーロッパでは、 (多くは1950年代に)国民識別番号が導入され、生年に関する2桁の情報が含まれるようになりました。
このことによる最大の好ましくない副作用は、100歳以上の人が幼い子供と間違えられること[ 1 ]、あるいは場合によっては幼い子供が大人と間違えられることである[ 2 ] 。
2000年問題に対処する際、この問題を回避または修正するための措置が講じられることがありました。例えば、国民識別番号の変更などです。ブルガリアの統一市民番号では、年は2桁でしか記録されませんが、1975年の制度開始当初から解決策は用意されていました。1900年以前に生まれた人には月の番号に20を、2000年以降に生まれた人には40を追加するというものです。
Microsoft Excel (デフォルトの 1900 年日付システムを使用) では、1900 年より前の日付を表示できませんが、これは年を表すのに 2 桁の整数が使用されているためではありません。Excel は日付と時刻を格納するために浮動小数点数を使用します。数値 1.0 は、1900 年日付システムでは 1900 年 1 月 1 日の最初の 1 秒を表します (または、1904 年日付システムでは 1904 年 1 月 2 日を表します。これは Excel 2016 より前の Macintosh のデフォルトです)。0.0 より小さい数値は#VALUE!エラーとして表示されます。[ 3 ]
Lotus 1-2-3との互換性のため、1900 年日付システムは、1900 年が閏年ではなかったにもかかわらず、1900 年 2 月 29 日を誤って受け入れます。このため、WEEKDAY 関数は 1900 年 1 月 1 日から 1900 年 2 月 28 日までの期間について誤った値を返します。[ 4 ]