3000年問題

読み:さんぜんねんもんだい
外語:Y3K: year 3000 problem 英語
品詞:名詞

Microsoft Visual C++ 2005のCランタイム(MSVCR80.DLL)にある不具合の一つ。

Visual C++ 2005からは、time_tが64ビット化された。

そしてVisual C++のランタイムとしては2999(平成1011)年12月31日までの日付処理を公式にサポートした。

かくして、迫り来る2038年問題は、何とか回避する準備が整えられた。

この仕様自体は明確に3000年問題を起こすことは自明であったが、叫ばれている「3000年問題」は、その件ではない。

time_t型に3000(平成1012)年1月1日以降の時間引数を入れて処理させると、ランタイムはアサーションを発生させる。これが問題視されている。