西暦2000年問題

読み方 : せいれきにせんねんもんだい

西暦2000年問題とは

コンピュータシステムやコンピュータを内蔵した機器が、西暦2000年以降の日付を正しく扱えないため、1999年12月31日午後12時(2000年1月1日午前0時)に、誤作動が発生し得る問題のこと。プログラム中の日付を扱うロジックで、西暦2000年を「00」、同1999年を「99」と下2ケタの数値として処理するシステムが2000年問題を起こした。

実際には、社会全体に大きな影響を及ぼすようなトラブルはなかったが、科学技術庁で地震の観測データを送信できない、東京電力で原発の運転履歴管理システムが停止したといった問題が起こった。

2000年1月1日以降も、コンピュータやマイクロプロセサ内蔵機器が誤動作する可能性がある日が存在した。例えば、「2001年9月9日問題」である。UNIXシステムの日付型変数(time_t型の変数)は、1970年1月1日0時0分0秒を起点として、1秒ごとに1を加算していく。この値が2001年9月9日に10進数表示で9ケタから10ケタになる。そのため、値の代入先に9ケタ固定の領域を設定していると問題が起こる。

このほかにも日付処理の誤りによるシステムトラブルは絶えない。2008年には2月29月のうるう日を正しく認識できないことによるトラブルが各所で起こった。

出典:ITpro「今日のキーワード」(C)日経BP社

[2010年 1月 1日 公開]