いわゆるコンピュータの“西暦2038年問題”といわれる事象が日本で発生し、日常生活に影響を与えたことが明らかになった。2038年問題による日常生活への影響が確認されたのは、世界でもほぼ初めて。

 コンピュータの西暦2038年問題とは、C言語を使って開発したシステムをUNIX環境で利用している場合に、グリニッジ標準時の2038年1月19日3時14分8秒を過ぎると、システムが正しく時刻を認識できなくなる問題を指す。

 UNIX環境では、システム内部の時刻をグリニッジ標準時(GMT)1970年1月1日0時0分0秒からの経過秒数で保持している。経過秒数で表す時刻データに、4バイトの符号付き整数を使っている場合には、2038年1月19日を過ぎると、本来数字の正負を判断するために使う部分まで時刻を表示するために使わざるを得なくなる。その結果、正しい時刻を認識できなくなるのである。

 2038年問題による影響はすでに広く報道されている。1月11日に23行の銀行でATM(現金自動預払機)が一部の取引で正常に利用できなくなったトラブルの原因が、この2038年問題によるものだった。

 この問題が起きた銀行はいずれも日本IBMのソフトを使っていたが、このソフトの内部に、時刻の2倍に足し合わせる処理があり、ちょうど1970年と2038年1月19日の2分の1を超えた2004年1月11日の朝から、2038年問題が顕在化して、システムが正常に稼動しなくなった。

 なお、日経コンピュータ2月9日号では、この問題に加えて2004年1月に続発した全国の金融機関のATMのトラブルについて詳しく報じている。

大和田 尚孝=日経コンピュータ