我想我可能一直生活在山洞中一段時間,因爲DateTime
的複雜性只在今天沉沒。我讀過幾篇文章,建議在數據庫中始終將DateTime
存儲爲UTC
,然後將它們顯示爲視圖中的本地時間。在.Net中存儲並顯示DateTimes的正確方法是什麼?
不過,我當時打的說,它不是簡單的文章,你需要考慮「瞬間」和轉換用戶輸入DateTime
到UTC
難由於TimeZone Id
或使用ToUniversalTime()
是不是安全的,或者你可以讓JavaScript
發帖UTC DateTime
並使用JS
顯示當地時間,但如果我有DateTime
模型屬性的Razor
視圖,該怎麼辦?即使依靠ToLocalTime()
顯然不能被認爲是安全的。
我聽說過Jon Skeet的Noda Time,我希望能解決所有這些問題,但我知道他評論說它並不完美。
那麼在地獄裏人們甚至在.Net
上使用非常簡單的網絡應用程序呢?
有沒有一個正確的例子,你可以提供或鏈接到哪些帖子,然後呈現時區同情的價值?
看來無知是幸福。
更新:例如,用戶有一個來自jQuery的DateTimePicker,他們選擇一個事件的日期時間。該應用程序的用戶是全球性的,所以如果他們選擇美國東部時間上午10點,英國用戶應該在6點看到該視圖。
或許,如果你多一點告訴我們您的具體使用情況,我們可以瞭解如何正確處理您的具體情況更清晰。 – 2013-04-08 20:10:20
@RobertHarvey,我認爲這是關鍵。不管你想要解決什麼問題,都不要解決那些不在意的問題,只需解決你的使用案例。解決未知未知數是不可能的。 – 2013-04-08 20:13:00
@RobertHarvey新增更新 – Jon 2013-04-08 20:13:34