2016-03-21 1 views
0

私は1つの既存のASP.NETアプリケーションを持っています。このアプリケーションは.NETフレームワーク2.0に組み込まれていますasp.netアプリケーションのタイムゾーンに関連する問題

DateTime.Nowは、現在の日時をアプリケーションに格納するために多くの場所で使用されていました。ロギングを含むさまざまな目的のためです。

現在、米国内のサーバーでホストされています。私のマシンからアプリケーションにアクセスすると、サーバの現在の日時が返されます。私のローカルマシンを手に入れることができます。

ローカルマシンの現在の日時を取得するには、TimeZoneクラスを使用する必要があります。しかし、その場合、私はDatetimeを使用していた場所を変更する必要があります。今、タイムゾーンから時間を取得してください。

私はグローバルに設定することができますし、datetime.nowを使用するとローカルマシンの時刻を返しますか?

助けてください。

答えて

1

いいえ、できません。 TimeZoneをグローバルに設定する方法はありません。

ベストオプション:

  • DateTime.UtcNowに変換するDateTime.Now、適切な 計算を行う(?何を 米国の別のゾーンにサーバーを移動する必要がある場合)
  • 利用のDateTimeOffset instedタイムゾーンを使用するDateTimeの

いずれの場合でも、サーバー側ではなく、クライアント側のローカルタイムゾーンへの日付時刻変換を処理する必要があります。

+0

はい。私は同じことをした。私は、サーバー日付の代わりにタイムゾーンに基づいてローカル日付を返す共通の関数を作成しました。しかし、問題は今どこでdatetime.nowを使っていたとしても、私は更新コードを更新し、その共通の関数を使う必要があります。私はあらゆる場所を更新する必要がないように代替手段を探しています。 –