QuickcaDiary1999 HOMEPROFILEDIARYBOARDLINKSWORKSARCHIVES

[1996] [1997] [1998] [1999] [2000] [2001] [2002] [2003] [2004]
99/09/09
999.9.9問題
 朝、ニュースで聞いて初めて知ったんだけど、今日はコンピュータが誤動作する可能性のある日らしい。なんで? 理由を言ってなかったのでわかんない。まさかキリ番の日だからってことはないだろうな。GPSのときみたいにある日付を基点に日数をカウントして、そのカウンターがオーバーフローする日付がたまたま今日だったってことぐらいしか思いつけない。ホントはなんなんだろう。
 会社に入ったばかりの頃(10年前の話だ)、Dという会社のシステムのプログラムを作った。一応、このシステムの設計者は2000年問題ということを意識していて、関連するデータベースの年は4桁で持っていて、プログラム中も4桁で扱っていたと思う。だけど、以前からあったシステムのデータベースと情報をやりとりする部分だけは、年を2桁にせざるえなかった。
 そのときの言語はIDL IIというもので、これには日付を年4桁から年2桁、年2桁から年4桁に変換するという関数(関数って言い方するんだっけな?)があった。その関数でいくつか実験してみたら、単純に年の頭の“19”を付けたりはずしたりするだけだった。そのため、自前の関数を作って対処することになった。それでも、2桁の年が“30”以下だったら“20”を頭につけて、30以上だったら“19”をつけるというロジックだったと思うのだ。そういった意味では、このシステムには2030年問題というのがあり得るわけ。ただし、2030年に近づいたら、この自前の変換関数をちょっと変えて境目を“50”とかにでもすればいいってことらしいんだけど。
 IDL IIの日付変換関数もそうするつもりだったのかな。“19”と“20”の境目は使われるシステムで変えないといけないだろうから、呼び出すときに与えるとか。

前の日 Indexに戻る 次の日