私は多くのサブアプリケーションによってcompsedグローバルなアプリケーションがあります。.NET - アプリケーションレベルでタイムゾーンを定義する
- Webサイト
- Windowsサービス
が、私はそれらの「アプリケーションの一部を派遣したいです"多くのサーバーで。 問題は次のとおりです。日付を正確にしたい。 イベントが太平洋の午後6時に保存されている場合、私は自分のヨーロッパのユーザーに自分のボードに「午後6時」を見せたくありません。
私はあまりにも多くの仕事を表して、私はそれぞれ単一の日付を保存する方法を変更することはできません =>しかし 「あなたはちょうどそのようにあなたの日付を保存しなければならない」と言う記事の多くを、(読んだはい、それは保存され日時オフセットではない日時です)。
私はサーバー上のタイムゾーンを変更することを提案している他の記事を読んだことがありますが、私はが他の目的のために使用できるので、そうしたくありません。
良いニュースは、日付は常にアプリケーションで定義され、はデータベースによって生成されないことです。
結果的に、唯一必要なことは、アプリケーションレベルでタイムゾーンを定義することです。どこにいても、私のアプリケーションは常に同じタイムゾーンで動作します。残っている唯一のステップは、現在のユーザーのタイムゾーンでUIレベルの日付を変換することです(すべての日付が同じローカライズされた日時変換メソッドを通過するので非常に簡単です)。
アプリケーション開発者の作業方法を変更する余裕はありません。エラーが発生しやすいためです。彼らは変換を考えずにDateTime.Nowを使い続ける必要があります。
私が使用している正確な技術はここでは関係ありません。問題はグローバル.Netです。あなたの助け
編集用
ありがとう:さんは私の問題だけでUTC日付を返すDateTime.Nowを持つことであるとしましょう。 これを行う方法はありますか?
'app.config'を使用できませんか?ここに実際の質問はありますか? – bzlm
あなたが言っていることは、「正しい方法でやれる時間がない、間違ったコードを保持して正しい答えを得たい」ということです。正確に聞こえますか? –
エラーが発生する可能性がありますか?すべてをUTCで時刻として保存して取得します。あなたの唯一の解決策だと私は思う。 – hometoast