中西部 (東部標準時) のサーバーで ASP.Net 2.0 Web アプリケーションを稼働させています。現時点では、すべてのお客様がサーバーと同じタイム ゾーンにいます。アリゾナ (山岳標準時) で別のサーバーをオンラインにします。
C# 分離コード DateTime.UtcNow を使用して、すべての時間を SQL 2005 データベースに保存しています。
テスト中に、タイム ゾーンの変換に関する問題が発生しました。私たちの問題は、Web ブラウザーで、テストしている東部標準時のタイム ゾーンではなく、山岳部の標準時が表示されていることです。
新しい情報を入力すると、UTC としてデータベースに保存されますが、ブラウザーでその情報を表示すると、山地標準時が表示されます。以下は、データベースから UTC 値を取得してブラウザに表示するコードです。
lblUpdatedDate.Text = Convert.ToDateTime(dr["UpdatedDate"]).ToLocalTime().ToString();
上記のコードは、ブラウザーが実行されている東部標準時ではなく、サーバーがある山地標準時を返します。ユーザーがいる場所を表示する時間を取得するにはどうすればよいでしょうか?