現在オフラインです。再接続するためにインターネットの接続を待っています

[IIS]PRB:ログオンのたびにVBScriptの日付と時間の表示形式が変わる

この記事は、以前は次の ID で公開されていました: JP218964
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。
現象
VBScript の Now()、Date()、または Time() 関数を使用すると、コンピュータにログオンするユーザーによって、日付や時間の形式が異なります。この問題は、Active Server Pages を使用して開発されたサーバー アプリケーションで発生します。Active Server Pages では、日付や時間の形式が重要な意味を持ちますが、サーバーにログオンしているユーザーが異なる場合、またはログオンしているユーザーがいない場合は、この日付や時間の形式が変わります。

たとえば、アプリケーションで西暦を 2 桁ではなく 4 桁で表示したいことがあります (例 : 99 ではなく 1999)。あるユーザーが IIS サーバーにログオンし、[コントロール パネル] の [地域] で、日付形式を西暦の 4 桁表示 (例 : MM/dd/yyyy) に設定したとします。ブラウザで Active Server Page を開くと、西暦は 4 桁で表示されます。ところが、そのユーザーがコンピュータをログオフして再びブラウザで Active Server Page を開くと、今度は西暦が 2 桁で表示されます。
原因
VBScript の関数である Now()、Date()、および Time() の日付形式には、使用するコンピュータの地域設定が使用されます。[地域] の設定は、コンピュータにログオンしているユーザー (またはログオンしていない) により変更されます。そのため、日付と時間が常に同じ形式で表示されるとは限りません。
解決方法
常に同じ形式で日付と時間を表示するには、次のいずれかを実行します。

  • JScript では日付と時間の形式に地域設定を使用しないため、JScript を使用します。
  • Now()、Date()、および Time() 以外の関数を使用して日付と時間を表示します。これ以外の日付と時間の関数 (Day()、Month()、Year() など) は地域設定を使用しないため、異なるユーザーがコンピュータにログオンしても日付形式が変わることはありません。たとえば、次の関数 MyDate() は、必ず MM/dd/yyyy 形式で日付を返します。
    Function MyDate()     dteCurrent = Date()     dteDay = Day(dteCurrent)     dteMonth = Month(dteCurrent)     dteYear = Year(dteCurrent)     MyDate = dteMonth & "/" & dteDay & "/" & dteYear   End Function
状況
この動作は仕様によるものです。
関連情報
VBScript および JScript の詳細については、以下の MSDN スクリプト サイトにアクセスしてください。
関連情報については、次の文書番号をクリックして Microsoft Knowledge Base を参照してください。
248142 Default System Date Behavior in Windows NT 4.0 and Windows 2000
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 218964 (最終更新日 2000-03-30) をもとに作成したものです。

プロパティ

文書番号:218964 - 最終更新日: 05/18/2004 03:10:47 - リビジョン: 3.1

Microsoft Active Server Pages 4.0, Visual Basic, Scripting Edition 3.0, Visual Basic, Scripting Edition 4.0, Visual Basic, Scripting Edition 5.0

  • kbgrpasp kbprb kbscript KB218964
フィードバック