データの対応期間:
1980 ~ 2035 年
製品の詳細
この情報は、PC-9800シリーズ版にも適応します。
製品サポート: 西暦 2000 年問題とは関係なく、マイクロソフトでは、つねに
最新のリリースおよびサービス パックをインストールすることをお客様に
推奨しております。その一方、さまざまな理由で、お客様が最新のリリースに
変更できない場合があることも理解しております。お客様の西暦 2000 年への対応
作業にご協力するため、マイクロソフトでは、Windows 95 version 4.00.950 (950a OSR 1.0) を西暦 2001 年 1 月 1 日まで
"対応" ソフトウェアとしてサポートする計画です。リリースされる新しいサービス バックも
西暦 2000 年に対応しており、それには 2000 年対応以外の内容も含まれます。
これは、お客様に 2000 年対応のためだけに製品のアップデートをお願いすることを
最小限にするためです。
Windows 95 のバージョンを確認する方法については、マイクロソフトのサポート サイトにあるサポート技術情報 ( J049006) を参照してください。
日付の処理
- 保存。日付は、内部的には 4 桁の西暦で保存されます。ただし、MS-DOS ファイル システムの API は除きます。MS-DOS ファイル システムの API では、1980 年からのオフセットとして西暦が保存されます。このため、プログラムが MS-DOS の API から日付を取得する場合は、取得した西暦の値に 1980 を加算する必要があります。
- 下 2 桁の西暦の処理
。MS-DOS の DATE コマンドでは、2000 年以降は下 2 桁の西暦を変更できません。正しい日付を入力するには、DATE コマンド (COMMAND.COM の内部コマンド) を使用して、西暦を 4 桁で入力する必要があります。4 桁で正しく入力しないと、「無効な日付の指定です」というエラー メッセージが表示されます。この問題に対処するには、COMMAND.COM の更新バージョンを使用します。
また、MS-DOS ファイル システムの API では、1980 からのオフセットとして西暦が返されます。このため、正しい日付を設定するには、返された値に 1980 を加算する必要があります。Win32 の API では、この問題の影響はありません。
Windows 95 での問題
WINFILE.EXE - Windows ファイル マネージャでは、2000 年以降の日付の表示や並び替えが正しく行われません。[すべての情報] が選択されている場合に、Windows ファイル マネージャを使用してフォルダの内容を表示すると、2000 年以降に作成したファイルの日付は、次のように表示されます。
- 2000 年 1 月 1日は、「1/1/;1」と表示されます。
- 2023 年 2 月 3 日は、「2/3/>3」と表示されます。
- 2036 年 3 月 5 日は、「3/5/=6」と表示されます。
COMMAND.COM
- DATE コマンド (COMMAND.COM の内部コマンド) では、00 ~ 79 年の下 2 桁の西暦が正しく処理されません。この期間内の西暦を下 2 桁で入力すると、「無効な日付の指定です」というエラー メッセージが表示されます。
SHELL32.DLL
- [ファイルやフォルダの検索] ダイアログ ボックスの [日付] タブでは、西暦は YY 形式で表示されます。2001 年またはそれ以降では、この形式では表示が非数字になります。たとえば、2003 年 3 月 20 日を入力すると 「:3/03/01」が表示されます。この表示は検索結果には影響しません。一定期間内に作成または更新されたファイルを検索する場合は、2 桁か 4 桁の西暦どちらかで入力すれば、検索は入力された日付で行われます。(Service Pack 1 に含まれる SHELL32.DLL も同様の問題が発生します。)
COMCTL32.DLL
– コントロール パネルの [地域] で下 2 桁の西暦が設定されている場合、日時指定 (Date/ Time Picker) コントロールが正しい日付を返さなくなります。日付が正しく処理されるようにするには、[地域] で 4 桁の西暦を指定します。
TIMEDATE.CPL
–コントロール パネルの [日付と時刻] - 日付が 2 月 29 日に設定されている場合に、[日付と時刻] で西暦を前に進めたり後に戻すと、うるう年以外の年にも 2 月 29 日が表示されます。
DIALER.EXE - ダイヤラー - 通話の終了後、[通話の記録] ダイアログ ボックスに日付が正しく表示されません。西暦を 2000 年に対応させると、日付が「100」、「101」、「102」 などと表示されます。
VDHCP.386 - Winipcfg/all - 2000 年 3 月 1 日以降に取得された IP リースは、実際の取得日の前日に取得されたものとして記録されます。システム日付は正しく表示されます。ただし、DHCP クライアントは間違った日付を返します。
XCOPY.EXE
– オプションのパラメータ /D:date を指定して、xcopy を real モードで使用している場合、西暦を下 2 桁で入力することはできません。ただし、80 ~ 99 年を入力した場合は、「無効な日付の指定です」というエラー メッセージが表示されます。xcopy を protected モードで Windows 内から使用している場合、下 2 桁の西暦を使用できます。ただし、その上 2 桁は、"19" として解釈されます。たとえば、01 年 2 月 5 日は 1901 年 2 月 5 日と解釈されます。
ガイドラインと推奨事項
PC によっては、2000 年に達すると、西暦を 1980 などの不正な値にリセットするものがあります。この問題が発生するのは、コンピュータ ハードウェアと弊社以外の会社が作成した BIOS の基本部分に問題がある場合です。実際の作業には使用しない "テスト" マシンで確認を行うことをお勧めします。詳細については、製品ガイドの PC の BIOS に関するセクションを参照してください。