UNIX / Windows95/98/Me/NT4.0/2000共通の話題
2001年9月9日問題?
●「2001年9月9日問題」とは? Windowsではなくて、どちらかといえば、UNIXの世界の問題です。 でも、Windowsの世界でも、一部問題が発生するかもしれません。 UNIXの場合、日付の管理の起点が、1970年1月1日午前0時00分00秒 になっています。ここから、1ずつ数字をカウントアップしていって、そこから どれだけ経過したのか、時間や日数の管理をしています。 そのカウンターの桁あふれが起きて、1970年1月1日午前0時00分00秒 からカウントしてきた数字が、いったんゼロになってしまうのが、 2001年9月9日午前1時46分40秒(日本時間同日午前10時46分40秒) ということのようです。 カウンターの値がゼロになると、コンピュータ内部で保持している 現在時刻が狂ってしまい、1970年1月1日午前0時00分00秒に 戻り、そこからカウントをやりなおすことを意味します。 ということは、日本時間でご説明しますが、 正)2001年9月9日午前10時46分40秒 誤)1970年1月1日午前0時00分00秒 正)2001年9月9日午前10時46分41秒 誤)1970年1月1日午前0時00分01秒 正)2001年9月9日午前10時46分42秒 誤)1970年1月1日午前0時00分02秒 (中略) 正)2001年9月9日午後13時46分41秒 誤)1970年1月1日午前3時00分01秒 みたいに、コンピュータ内部の日付時刻が狂ってしまうことを意味します。 ●日付の計算や判定は深刻な問題かも... VBのときと同様ですが、単に、日付が間違って表示されるだけなら、 大きな問題ではないかもしれません。 経理上の伝票日付がとんでもない日にちで処理されたら、大変ですね。 2001年9月9日の入金が、1970年1月1日の入金に扱われたら(汗。 日付でデータの参照や突合をするときも、データは存在するのに 「該当データなし」と誤って判定されると困りますね。 日数計算(期間計算)も、とんでもない日数が算出されると、 利息が違ったりして困ります....。 ●マイクロソフトのバックアップソフトでも一部不具合発生 マイクロソフト社のWindowsMeのバックアップのソフトでも、 9月9日問題の不具合が事前に見つかりました。 詳しくは、下記のサイトでご確認ください。 ・Windows Millennium Edition の [システムの復元] 機能で、 2001 年 9 月 8 日よりも後の復元ポイントが利用できない UNIXではなくて、Windowsの世界でもソフトウエア作成の為に 「C言語」が使われていると、日時判定のロジック処理のしかた によっては、不具合が発生する可能性があります。 う〜ん「VB」の次は「C言語」で問題ですか...(汗。 「C言語」の他、「C++言語」、「JAVA言語」でも同様に、 不具合の可能性があるとか...。 9月9日問題について、念のため、各社の対応について 検索して調べてみたのですが、問題はなさそうです。 まあ、記事を当日の9月9日に書くくらいだから、 実は、あまりさほど心配していなかったりします(汗。 今のところ、不具合が事前に判明したのは、 先に記しました「WindowsMeのバックアップのソフト」と、 UNIX系Solaris用のSunDirectoryServiceくらいのようです。 ●下記のサイトでご確認を さらに詳しくお知りになりたい方は、 下記のサイトの情報をご覧ください。 ・日系BP社のサイト ・東芝のサイト (2001年9月9日) |