2011-12-03 5 views
0

世界中のユーザーからのイベントを保存するWebサービスがあります。ユーザーは後でレポートシステムにログインしてイベントを表示できます。イベントタイムスタンプを現地時間で表示する必要があります。クライアントのキャプチャWCFサービスのDatetimeオフセット

の後ろにsql server 2008DateTimeOffsetのdbフィールドを使用することができます。しかし、私はWebサービス上でこれを変換する方法について混乱しています。クライアントがWebサービスイベントメソッドを呼び出すと、実際のイベントの時刻が受信した時刻と異なる可能性があるため、datetimeパラメータを送信する必要があります。

サーバー上でDateTimeOffset dtOffset = eventTime;と変換しようとすると、サーバーの時刻に基づいて変換されます。

これをどのように正しく行うことができますか?

答えて

2

データベースをUTC形式で保存し、時刻を表示する必要がある場合は、DateTimeオブジェクトのToLocalTime()を使用して、UTC時刻をクライアントマシンのタイムゾーンに変換してください。

+0

サーバーの現地時間は表示されませんか?サーバーは1つの場所にあり、クライアントは世界中に広がっています。 –

+0

クライアント側のjavascriptでdatetimeオフセットを計算し、それをサーバーに隠しフィールドとして送信し、utc時刻とdatetimeオフセットの差分を行うことができます。リンクをたどると詳しい説明があります。http://www.tellingmachine.com/post/Rendering-ASPNET-UTC-time-as-local-time-of-the-browsers-time-zone.aspx –

関連する問題