Windows NT 4.0 で Mfc40.dll によりプログラムが 2000/1/1 以降誤った日付を表示する

この記事は、以前は次の ID で公開されていました: JP218877
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
Mfc40.dll の内部関数は、2 桁の日付に 1900 を加えます。たとえば、99 は 1999 として返されます。3 桁以上の日付が渡された場合は、何も加えられません。この関数を使用するプログラムは、2000 年以降の日付を正しく解析しない場合があります (たとえば、2000 年 1 月 1 日は 100 年 1 月 1 日になることがあります)。

この問題は、次のアプリケーションで発生することが確認されています。
  • Microsoft システム情報 (Msinfo32.exe)

問題の再現手順

  1. システム日付を 2000 年以降の日付に設定します。
  2. コントロール パネルの [地域] をダブルクリックし、[日付] タブで [短い形式] ボックスの [MM/dd/yy] をクリックします。
  3. Windows 98 の Msinfo32.exe (version: 4.10.1998) を起動します (Msinfo32.exe は Program Files\Common Files\Microsoft Shared\MSINFO フォルダにあります)。
  4. [ファイル] メニューの [上書き保存] をクリックし、ファイル名を指定して、[保存] をクリックします。
  5. Windows エクスプローラを起動し、手順 4. で作成したファイルを右クリックして、[プロパティ] をクリックします。
  6. [概要] タブの [コメント] ボックスに "mm/dd/100" と表示されます。
解決方法
この問題を解決するためのモジュールは、Windows NT 4.0 日本語版サービスパック 5 以降に含まれております。Windows NT 4.0 日本語版の最新サービスパックについては、以下 Web サイトから入手できます。

Windows NT 4.0 Service Pack 3 または 4 の場合

個々のモジュール Y2kupd.exe (x86) および Y2kupdax.exe (Alpha) は下記の ftp サイトより入手することができます。

注意: これらの個別モジュールは、特定のユーザー先において発生する特定の障害・問題を回避するためのモジュールであり、広範なテストが行われたものではありません。したがって、この対応モジュールを適用するのは、実際に、該当する障害・問題の発生している機種に限定されるようお願いいたします。この問題が重大な影響を与えないかぎりは、この修正を含むサービスパックを使用することをお薦めします。


状況
弊社ではこの問題を、この資料の冒頭に記載した Microsoft 製品の問題として認識しております。 この問題は Windows NT 4.0 Service Pack 5 で修正済みです。
詳細
2000 年 (Y2K) 問題による Microsoft 製品への影響に関する詳細については、次の Microsoft World Wide Web サイトを参照してください。
詳細
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 218877 (最終更新日 2001-02-23) を基に作成したものです。

プロパティ

文書番号:218877 - 最終更新日: 02/02/2014 22:19:40 - リビジョン: 1.3

Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows NT Workstation 4.0 Developer Edition

  • kbnosurvey kbarchive kbqfe KB218877
フィードバック