1

私は自分のアプリで utc サポートを展開しようとしているところまで来ています。

私はすでにすべての作業を完了しており、convertToUtc と convertFromUtc という 2 つのユーティリティ クラスを自分で作成しました。彼らが何をするかはお分かりだと思います。

私が考えていたのは、これらを linq-to-sql で作成されたオブジェクト モデルの日付プロパティのゲッター メソッドとセッター メソッドに組み込むことができるか、それとも値の保存方法を再割り当てしてどこでもアプリを一周するべきか (のようなコントローラーへの余分な行

task.taskDeadline = Utility.ConvertToUtc(aspnet_Repository.GetUserGuid(User.Identity.Name), task.taskDeadline.Value);

ユーザー Guid が必要になるたびにデータベースに戻って、何か恐ろしいことをしていると誰かが言うことができれば、それは素晴らしいことです。どこかにキャッシュすると思いますが、これにはセッションまたは私が推測する何かで保持する必要があります。

皆さんありがとう。

4

1 に答える 1

1

データベースには常に日時を UTC 値として格納し (オブジェクトの真の UTC 時刻がわかっている場合)、決してローカル時刻値として格納しないでください。

UTC 時間から localtime への変換は、[ほとんど] レンダリングの問題であり、UI レイヤーで処理する必要があります。

この後者のルールの 1 つの例外は、ユーザーの datetime によってグループ化しようとしている場合 (たとえば、昨日または先月に起こったこと) です。日時のローカル表現によってグループ化された効率的なクエリを実行するため。

于 2009-12-04T05:47:03.023 に答える