2009-07-13 11 views
3

.NETアプリケーションのTimeZoneをOSのTimeZone以外の値に設定する方法はありますか?.NETアプリケーションのTimeZoneの設定/変更

例えば、Central Standard Timeを設定したOSで自分のアプリケーションを使用しています。アプリケーションを東部標準時間と同じように動作させたい場合は、アプリケーションですべてのDateTimeを手動で変換する必要はありません。メソッド TimeZoneInfo.ConvertTimeBySystemTimeZoneId()のようにします。

答えて

5

いいえ、私はこれを行う方法はありません。タイムゾーンは、文化のようにスレッドごとに設定されているのとは異なります。例えば、私はDateTime.ToLocalTimeはとなると常にシステムタイムゾーンを使用します

しかし、私はどこでもTimeZoneInfo.ConvertTimeBySystemTimeZoneIdを使用しません。適切なタイムゾーンを表すタイプTimeZoneInfoのプロパティを公開するか、必要な場所に変換するヘルパークラスを設定します。

あなたのアプリケーションによっては、データを変換する適切なポイントを選択した場合(ではありません。は、UIレイヤー以外のどこにでも置くことができます)予想通りに多くのコンバージョンを実行する必要はありません。

+0

TimeZoneInfo.ConvertTimeBySystemTimeZoneIdをDateTimeヘルパークラスの1つに抽象化したので、コード内のどこにでも「東部標準時」定数を公開する必要はありませんでした –

関連する問題