- PR -

.Netの時刻設定(表示)について

1
投稿者投稿内容
Anon
常連さん
会議室デビュー日: 2003/10/20
投稿数: 29
投稿日時: 2003-11-21 19:37
.netで使用される時刻表示は、OSに依存されないでしょうか?

というのも、現状のデフォルトの設定は「2003/11/21 22:15:10」になっています。
(使用言語は日本語です。)
そこでコントロールパネルの地域と言語のオプションで使用言語を「英語(米国)」に変更するとデフォルトの日付の設定が「11/21/2003 10:15:10 PM」になります。
この状態で.NETプログラムの中で時刻を使ったりしても変数に格納される時刻は「2003/11/21 22:15:10」です。
.NETの設定のどこかをいじらないといけないのでしょうか?
OSで時刻表示を変更すれば、それに伴って変更されると思っていたのですが・・・。
どなたかご教授ください。
よろしくお願いいたします。

Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2003-11-22 08:58
こんにちわ。諸農です。

引用:

Anonさんの書き込み (2003-11-21 19:37) より:
.netで使用される時刻表示は、OSに依存されないでしょうか?



以下のSDKの項目は参考になるでしょうか。

【DateTime構造体】
ms-help://MS.NETFrameworkSDKv1.1.JA/cpref/html/frlrfsystemdatetimeclasstopic.htm

【DateTimeFormatInfoクラス】
ms-help://MS.NETFrameworkSDKv1.1.JA/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.htm

ではでは(^^)/

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
Anon
常連さん
会議室デビュー日: 2003/10/20
投稿数: 29
投稿日時: 2003-11-22 11:36
諸農様、回答ありがとうございます。

示していただいたSDKの項目はプログラム内で時刻フォーマットを行う為には有用だと思います。
私が意図していたのは、OSでの時刻設定を変更した際、プログラムは変更せずに時刻表示変更は変わるのかということでした。

やっぱり、プログラムを書かないといけないんでしょうかね。

設定変更だけでなんとかならないですかね・・・。
SQLサーバーなんかは問題ないのですが。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2003-11-22 12:21
こんにちわ。諸農です。

引用:

Anonさんの書き込み (2003-11-22 11:36) より:
示していただいたSDKの項目はプログラム内で時刻フォーマットを行う為には有用だと思います。
私が意図していたのは、OSでの時刻設定を変更した際、プログラムは変更せずに時刻表示変更は変わるのかということでした。



私の読解力不足で、時刻表示であるとかプログラムを変更するとか
SQLServerがどうなのかとか、意図されていることが全くわからないのですが。

「表示する」と言うのは「表示するためのプログラムを書く」と言うことに
通じるような気がしますが、そういうことではないのですか?
言語別OSでどう表示させるか?そして、それはいちいちプログラム内で
分岐処理をする必要があるのか?と言うことをお尋ねになっているのでは
ないかと思うのですが、違うようでしたらご指摘ください。

「表示する」ための「プログラムコード」は
引用:

ユーザーは、[コントロール パネル] の [地域と言語のオプション] (オペレーティング システムによっては [地域のオプション] または [地域]) を使用して、Windows の現在のカルチャに関連付けられた値の一部をオーバーライドすることもできます。たとえば、ユーザーが別の形式で日付を表示したり、カルチャの既定の通貨以外の通貨を使用したりすることを選択する場合があります。 CultureInfo.UseUserOverride プロパティを true に設定した場合は、 CultureInfo.DateTimeFormat 、 CultureInfo.NumberFormat 、 CultureInfo.TextInfo の各インスタンスのプロパティもユーザー設定から取得されます。ユーザー設定と CultureInfo に関連付けられたカルチャとの間に互換性がない場合 (たとえば、選択された暦が OptionalCalendars のいずれかでない場合)、メソッドの結果およびプロパティの値は未定義です。


前回ご紹介した、上記SDK引用の内容を考慮しておけばいいのではないでしょうか?

Anonさんが意図していることと、上記のSDKで述べられていることの
違いについて、「何がどうダメなのか?」を、もっともっと具体的に
述べていただけるように望みます。


それとも、日付情報を保持している変数内部の値までも、言語別OSで
変更したいのでしょうか?
もし、言語別OSで日付情報の内部の値までもが変更されるとなると、
それこそ、単純な日付計算プログラムでさえ、言語別OS向けに計算ロジックに
分岐処理をかませるようにユーザーサイドのプログラムで考慮しておく
必要があるように思われますが。
そうなると、SDKの内容も言語別OS用と言語別開発ツール用と
OSと開発ツールの複数の組合せ別に用意する必要が出てきそうですね。

外していたらごめんなさい。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-22 19:07
あとはどういうプログラムか、ですね。ASP.NETなら、ワーカプロセスを動かしているユーザの設定を変えなければなりませんから
1

スキルアップ/キャリアアップ(JOB@IT)