HOSTマシンのメーカー側の対応に比べて,まだまだユーザ側での日本の西暦2000年対応は静かな気がします。
日本の場合には設備の更新が早いので,西暦2000年までにマシンのリプレースを行うか,検討中の所も多いのかもしれません。
ホスト系/UNIX系に関してはメーカからのサポートが主役でしょうから,ここではパソコンに関しての西暦2000年対応にスポットを当ててみました。
パソコンでの西暦2000年対応というのは,あまり現実感を伴いません。
なぜならパソコンの場合,パソコン本体やOS自体の技術革新が速いので,どんどんリプレースされるでしょうし,Office等のアプリケーションも商品サイクルが短いので,新しい商品で西暦2000年対応が行われ,問題が発生する場面が少ないからでしょう(西暦2000年の一般的なCPUってPentiumIIの400MHzとか500MHzとかのクラスでしょうか?)。
それにHOSTに比べてコスト的に低い話なので,大きな問題の方に集中しているのかもしれません(ハードはともかく,人に必要なコストは似たようなモノなのに)。
もっとも,まだ西暦2000年になってないので,単純に被害が発生していないだけかもしれません(当たり前だ)。
それにしても,ベンダーは詳細な情報をなかなか明かしてはくれません。
単純に「西暦2000年に対応しました」と言われても,じゃ今のままでは使えないのか?,という疑問が湧いてくるだけです。
「問題に対応したから大丈夫です」だけではなく,(たぶん公開した以外のことが発生した場合に別の問題が起こる可能性があるので)難しいでしょうが「対応しない場合にはこうなります」といった情報も公開して貰いたいものです。
マイクロソフトの西暦2000年対応についての見解は,『“2000年問題”へのマイクロソフト製品の対応についてのご説明』で明確になっています。
OS,言語レベルでの年を扱う範囲が明らかになっています。
マイクロソフト以外では,開発言語を扱う会社のサイトで,こういった情報は見つけられなかったのですが,実際はどうなんでしょうね?
Excelの情報については,ここを参照して下さい。
マイクロソフトのオフィシャルなページとして,上記以外にも以下のような資料が示されています。
『オペレーティングシステム/BackOffice製品の“2000 年問題”への対応について』(最終更新日:1997年 6月 12日)
『マイクロソフト オフィス“2000 年問題”への対応について』(最終更新日: 1997年 12月 15 日)
[追記:1997/12/23]
マイクロソフト西暦 2000 年対応情報開示リソースセンターが公開 されています。
Windows NT 4.0 Service Pack 4, Windows(R) 98の西暦2000年問題に対応と Office 97 Service Release 2(Office 97 SR2) の提供が始まりましたが,これらの"2000年問題"を見ていると,思わずため息が出そうな話と,改めて「そんな機能があったのか」と思う機能が多くて...(^_^;
[New追記:1999/03/16]
ノベル社のネットワークOSであるNetWareおよび,ピアツーピアLANのPersonal NetWare/NetWare Liteの対応については,『NetWareの西暦2000年対応について』に記述してあります。
NetWare3.1x および 4.x (NetWare Lite,Personal NetWareを含む)は,西暦2000年以降のタイムスタンプに対応していません(IntraNetWareは対応して出荷)。
NetWare3.12J, 4.1J への対応は 1996/12/26に行なわれましたが,3.11Jへの対応は未定だそうです(対応しない可能性もあります)。
ノベル社のホームページから,それぞれのOSに対するパッチがダウンロードできるようになっています。
ノベル社への問い合わせによると,使用している NLM(Network Loadable Module:NetWareサーバ上のアプリケーションプログラムと思って下さい) の中には,影響を受けるモノがある可能性もある,としています。
詳しくは,ここをご覧ください。
さて,実際にNetWareのサーバー(3.12J,修正モジュールを入れる前)で実験してみました。
クライアントは,DOS/Vマシンです。
[テスト]
う〜ん,どうやらあまり心配するような結果はでませんでした。
- クライアントからサーバ時刻を修正してみる。
Fconsoleコマンドでサーバの時刻を1999/12/31 23:55:30に設定。
端末をリセットすると時刻はサーバに合わせられた。
- 西暦2000年まで動作させると,時刻は...
クライアントでは,その時2000年となるだけで,特に異常は見られない。
サーバのシステムコンソールのイベントの発生時刻は 01/01/00(mm/dd/yy) 〜となる。
これ以外では,今のところ特に不具合は見つけられない。
- ファイルを更新してみる。
ファイルの更新時刻は,サーバの時刻が設定される。
Dirコマンドでは,00-01-01になります(これはMS-DOS側の話)。
注1)NetWareではクライアントがサーバーにアタッチする時に端末時刻がサーバに合わせられます(合わせないようにすることも可能)。
注2)このテスト結果についての責任は持ちかねます。
富士通のサイトの情報によると,
NetWare3.12J:「2000-1-1」が「1988-1-1」として認識されるらしいのですが,実際はどうなのでしょう?
NetWare4.1J:「2000-1-1」が「2036-2-6」として認識される
簡単なテストでは確認できなかったので,実体は奥が深いところにあるのか?
これについては,もう少し調べてみます。
MS-DOSおよびWindows3.1では,ファイルの日付管理はFAT16で管理されており,ビットのカウント情報で行われています。
MS-DOSでは1980年を0年として扱い(マイクロソフト元年 (^_^;; ),そこから加算する方式を取っているため,OSや基本的なアプリケーションでは,西暦2000年問題は発生しないように思えます。
それでは,MS-DOSで西暦2000年の問題が起こらないかというと話は別です。
MS-DOSのDirコマンドでは,西暦2000年の元旦は00-01-01となります。
MS-DOSの日付表示では,西暦を下2桁で表示するのが基本だからです。
例えば,キチンとディレクトリ情報からプログラムにより4桁の年情報を取得している場合には問題ありませんが,DOSのバッチ処理において,Dir等で日付情報をリダイレクションして日付の処理をしている場合,不具合が発生する疑いがあります。
これはOSのバグではありませんが,そこから派生する不具合と言えるでしょう。
個人ベースでなら,DOSのバッチ処理など西暦2000年に達する前に消えて無くなっているでしょうが,企業等でDOSのバッチプログラムでデータ処理を行っているようなところでは,西暦2000年の正月連休明けにプログラムを走らせると,急に暴走するかもしれません。
くれぐれも,コンピュータウィルスと間違えないように (^_^;;
ちなみに,Windows3.1のファイルマネージャでは,西暦2000年の元旦は『:0/01/01』と表示されます。
またWindows3.1のコントロールパネルにある標準の日時設定プログラムの年設定は,下2桁しか設定できません。
これらの問題は,現在のWindows95やWindowsNTでは解消されています。
MS-Excel Ver.5の場合(あるいはそれ以前のバージョンやLotus1-2-3のシートから読み込んできた場合),セルの属性で日付表示(yy/mm/dd)にしてあると西暦2000年以降yyyy/mm/ddに自動的に変更されます。
通常の場合にはセルの幅が8桁を意識してあるはずなので,表示しきれずに########となることが考えられます。
今後Excelで日付表示する場合には,10桁(年を4桁)にしておくべきでしょう。
MS-Excel95の場合には,特に問題はないと思います。
日付表示をyy/mm/ddとかyyyy/mm/dd(yyyy/m/dは設定にあるが)にするには,新たにセルの属性としてユーザ定義を設定するしかないです。
素直にyyyy/m/dとするか,yyyy/mm/ddとすれば,何の問題もないでしょう。
問題が少ないと思いがちなパソコンですが,つい先日もMS-Excel上で問題が発覚しました。
納品されていたマクロが西暦2000年対応できてなかったのです。
元々はNetWareの2000年対応パッチを当てたついでに,動作させてみたのですが,Excelなら大丈夫だと思っていたのが大笑いでした。
通常,表計算ソフトの場合,日付を表すのはシリアル値(日付連番)という,ある特定の日から数えて何日目という方法をとります。
これをセルの表示の書式として,例えばyy/mm/ddとかdd/mm/yyとかを指定して表示させるのが一般的です。
(閑話休題)
そういえば,最近のExcelって表示の書式にyy/mm/dd(or yy/m/d)とかyyyy/mm/dd(or yyyy/m/d)とかが無いんですが,昔からそうでしたっけ?
日付の書式って米国式,欧式しかないんですよね(まぁ簡単に追加できるけど)。
ワタシには手抜きに思えるんだけどなぁ>MSKK
(話しを元に戻してっと)
どころが,なんと,マクロ上で日付を文字列(yy/mm/dd)に変換して表示させていたのです...
これではセルの大きさを変えるくらいでは対応できない...
まさか,yy/mm/ddの書式の追加方法を知らなかったとは思いたくない,お金払って納入させてるんだから...
せいぜい,日付のチェックを行うためにデータを取り込んで,文字列で扱ううちに勢い余ってそのままセルに放り込んでしまった,と好意的に取っておかねば(意味不明 (^_^;; )。
マクロ上で日付を文字列で扱いたい場合があるというのは理解できるんですが,そのままセルに戻す(西暦の下2桁で)っていうのは,辛いモノがあるなぁ。
納品時に機能のチェックはしてるはずなんですが,西暦2000年にしたら...なんていうチェックまではしてなかったようです。
これなんか,作る側が『どーせマクロなんだから,数年使えば廃棄されるだろう』と甘い考えを持っていた(意識していたのか,無意識にしていたのかは別にして)としか思えませんねぇ。
(それにしても,ワタシが担当者でなくて良かった良かった f(^_^; )
基本的な製品については,対応済みのようです。
ただし,DOS版の1-2-3では,若干の制限があるようです。
詳細は,ここ(http://www2.lotus.co.jp/notesinf/2ab2_846.htm)をご覧下さい。
コンパックでは,サーバー製品を西暦2000年対応させるためにBIOSを修正しています。
対象となるのは,1996/08以前に出荷のProLiantおよびProSigniaですが,各機種毎に2000年対応テストを受けて,西暦2000年に自動対応しているか確認が必要です。
修正内容としては,BIOS上で西暦を2桁で扱っていたので,4桁で扱うように変更した,ということです。
この修正を行わない場合の影響については不明です(どうも,手動で日付を設定し直せば大丈夫なようですが)。
詳細については,ここ(http://www.compaq.co.jp/tec/whitepaper31.html)を参照して下さい。
尚,現在関連する製品のBIOSには,以下のモノがあるようです。
- SYSTEM ROMPAQ 1 Ver.3.01 Rev.A
- SYSTEM ROMPAQ 2 Ver.3.03 Rev.A
- Systems ROMPaq ProLiant Ver3.05 Rv.B
ダウンロードに関する詳細については,ダウンロードサービス(http://www.compaq.co.jp/service/down1.html)で確認して下さい。
日本IBMのサイトでは,主要なOS/マシンについて西暦2000年に対応したドキュメントが大量にあります。
中でも,IBM 西暦 2000 年対応 計画・導入ガイド(http://www.ibm.co.jp/ad2000/)は,この問題に興味のある方は,一読をお勧めします。
IBMのパソコンについては,IBMパーソナル・コンピューター(PC)−ハードウェア・タイマーの設定(http://www.ibm.co.jp/ad2000/1doc054.html#HDRPCS)というドキュメントがあります。
これによると,IBM−PCの旧型(1996年以前に出荷したモノ)の多くが,1999年から2000年にカウントアップされないため,日付を手動で設定するか,セットアッププログラムを用いる必要があるようです。
NECのPC−98シリーズは,初代のPC−9801を除いて西暦2000年対応しているそうです。
NECのOSについては,MS-DOS Ver.3.3D以降のDOSは,2000年対応済みです。
富士通のFMV/FMServerについては,DATEコマンド等で日付を明示的に再設定すれば問題ないそうです。
詳細は,ここ(http://www.fujitsu.co.jp/hypertext/2000/ppt/pptindex.htm)を参照してみて下さい。
アップルでは,T E C H N O T E 1 0 4 9としてもうすぐ2000年 -- Macintoshはどうなる?と題してMacの2000年問題をまとめています。
そういえば,AppleIIとかっていう過去の遺物は,もう2000年は迎えられないんでしょうねぇ(あぁ,あとAmigaとかっていうのもあるな (^_^; )。
パソコンの西暦2000年を扱っているデータソースは少ないのですが,OAビジネスパソコン誌(電波新聞社)の'97/03(ほら年データが2桁 (^_^;; )号には,西暦2000年問題として,佐田氏が『コンピュータの西暦2000年問題について考える(その2)パソコンやネットワークへの影響は大丈夫か』というのを連載されています。
前月号のメインフレームに引き続いて,3月号はパソコンが登場しています。