。
DateTime.ToLocalTime(UTCとローカルタイムゾーンの間)、DateTime.ToUniversalTime(現地時間からUTCへの変換)。
編集コメント1
後、私は、サーバーのそれと異なるタイムゾーンを表示した後だということ、それを取るのですか?
ウェブページを使用してサーバーにアクセスしている場合は、 HttpRequest.UserLanguagesを使用してCultureInfoオブジェクトを作成し、これを使用してDateTimeオブジェクトを解析します。 詳細はこちらMicrosoft link on displaying local user time for web pages.
クライアント - サーバーアーキテクチャを使用している場合、LocalTime呼び出しがクライアント側にある場合、クライアントのLocalTimeが表示されます。それをUTCに変換してサーバーに送り返します。
いずれの方法でも、クライアントがどこにいるかを知る必要がないため、複数のタイムゾーンに複数のクライアントがある場合、すべての計算が一致します。また、さまざまなCultureオブジェクトを使用して、任意の時間帯に時間を表示することもできます。
編集2は、あなたがサーバーからUTC形式で時刻データを取得することができ、私の第二のコメント
をコピーしました。その後、DateTimeを使用して変換することができます。ToLocalTimeまたはDateTime.ToUniversalTimeが必要です。日付も含めて、米国のMM/dd/yyyyとヨーロッパのdd/MM/yyyyの書式に対処する必要がある場合は、CultureInfoクラスを使用してそれに応じてDateTime値を解析できます。今のところよりも多くの作業があるように思えますが、サーバーを再び動かすと、DateTime処理を再コードする必要はありません。それは十分に正確である場合を見て
新しいポイント
もう一つのポイントは、サーバとNTP(ネットワークタイムプロトコル)またはSNTP(簡易ネットワークタイムプロトコル)を使用しているクライアント間のクロック同期です。どのOSを使用しているのかわかりませんが、これはWindows Serverの時刻サービスがネットワークを同期するために使用します。
こんにちはジョン、お返事ありがとうございます。あなたはこれら2の中から最良の解決策として何を提案しますか?私はカスタムタイムゾーンを作成するか、TimeZoneInfo.FindSystemTimeZoneById( "東部標準時")を使用します。それが夏時間の世話をすることを考慮して。 getdate()メソッドを使用してIST時間を使用しているストアドプロシージャで、この問題をどのように処理しますか? – Shetty
私はストアドプロシージャについてはわかりませんが、正直なところ、可能であれば、UTCを渡してUTCを理解できるようにしてください。東部標準時のカスタムタイムゾーンを使用するかどうかは、UTCより常に4時間遅いタイムゾーンか東部標準時に一致するタイムゾーンを使用するかによって異なります。あなたはもともと、EDTを「いつもの目的のために」使う必要があると言っていました。あなたが本当にEDTを必要としているのか、東部標準時が必要なのかを確認することをお勧めします。 –
Ok Jon。私は*ボストン*都市時間をすべての時間目的のための標準時間として使用するように求められました。これはEDTに該当します。私は光の節約にはあまり気づいていませんでした。ISTサーバーで動作していても、私のアプリケーションはこの時間がかかります。以前はEDTのタイムゾーンで動作していた別のサーバーにありましたが、そのような問題はありませんでした。 – Shetty