0

世界中の顧客がアクセスする英国のサーバーでホストされているアプリがあります。私たちの顧客は、時間の経過とともに追加される自社の注文を開きます。注文を設定する際に行う必要があることの 1 つは、注文が自動的にクローズされて送信される注文締め日を選択することです。

お客様が選択した日付の午前 0 時 (タイムゾーンに基づく現地時間) に注文をクローズしたいのですが、サーバーが英国にあるため、異なるタイムゾーンを考慮すると問題が生じます。私たちのサーバーは、顧客が自分の時間の真夜中に注文が終了したことを確認できるように、注文を終了する英国の時間を知る必要があります。

アカウントのセットアップの一環としてタイムゾーンを入力するようお客様に求めているため、.net timezoneinfo ID としてデータベースに保存しています。また、たとえば 2012 年 9 月 30 日の targetCloseDate も保存します (ユーザーに表示するため)。ただし、目標日を、サーバーが注文完了日として使用する英国時間に変換する必要があります。

この変換を行うにはどうすればよいでしょうか。

チアーズウィング

4

1 に答える 1

0

timezoneinfoクラスを詳しく調べた後、自分でこれに答えました。次を使用できます。

   TimeZoneInfo.ConvertTimeBySystemTimeZoneId(orderCloseDate, customerTimeZone, TimeZoneInfo.Local.Id)

これにより、日時の値が変換されます-ソースタイムゾーンと宛先タイムゾーンを使用してorderCloseDate...完璧です!!!

于 2012-09-29T08:04:39.433 に答える