2009-08-11 4 views
2

SQLテーブルでは、CreatedDateやModifiedDateなどのカラムがよく使用されます。私は、時間のUTC値を格納することは、アプリケーションをホストするサーバーの場所への依存を削除するのに役立つと思う。クラウドコンピューティングは親しみやすさ(それを除外していても)を享受しているため、どのタイムゾーンでも世界中のどの地域でもアプリケーションをホストすることができます。SQLテーブルのUTC時間

このようなフィールドにUTC値を使用することにより、ビジネスロジックはフィールドをUTCとみなし、ローカライゼーション要件ごとに日付を変換することができます。

私の考えは正しいですか?このアプローチに問題がありますか?代わりに、ゾーン固有の時間を格納するのが簡単になりますか?

あなたの考えを気に入ってください!

+0

あなたの質問は何ですか? –

答えて

5

IMHOでもローカルアプリケーションのみがUTCを保存する必要があります。それ以外の理由でない場合は、少なくとも正しく処理してください。夏時間時間調整。配布されているものについては、UTCが必須です。

クライアントはすべてのクライアントプラットフォームがUTCを現地時間として表示することをサポートしているため、ローカライズされた時刻を表示できます。

3

SQL 2008にはdatetimeoffsetというデータ型があり、タイムゾーンも保存できます。つまり、ケーキを食べて食べることができます!

UTCバージョンを保存する必要があります。それ以外の場合、「2時30分はそれですか?」いつでも夏時間が発生します。しかし、datetimeオフセットで、あなたは大丈夫です。

ちょうどにUTCバージョンが保存されている場合は、クライアントが表示するタイムゾーンを考慮する必要があります。しかし、夏時間が発生すると、すべての時間が1時間ずつ移動するため、運がまだありません。

興味深いことに、Mitch Wheat(あなたの質問にコメントを投稿しました)は、最近夏時間の節約を導入したパースに住んでいます。私はそれについてのブログを書いています: http://msmvps.com/blogs/robfarley/archive/2006/10/25/The-horror-of-daylight-savings-_2800_sorry-Perth_2900_.aspx

あなたはどうやって行くのですか?私は間違いなくdatetimeoffsetを推奨します。そのため、夏時間に午後5時に保存されたことを示すことができます。

ロブ

+0

だからミッチは「あなたの質問は何ですか?」と言ったのです。笑。彼は一度も節約を見たことがありません:D –

関連する問題