2011-09-27 101 views
4

我目前在數據庫中存儲所有datetime作爲UTC日期。每個用戶時區偏移量也存儲在數據庫中。當我檢索日期時,它將使用此偏移量轉換回其當地日期。UTC DateTime問題

當我使用ajax調用檢索日期時會出現此問題。日期(已經使用偏移量進行了轉換)我認爲是作爲Java Date對象返回的。然後瀏覽器決定把我的Date添加到Date對象的客戶端計算機時區偏移量中。如果時間部分超過上午11點59分,這導致日期比他們應該在的時間早一天。

我能想出的唯一解決方案是將它們作爲字符串傳遞,在這種情況下這當然不會發生。儘管對我來說這是一個最好的解決方案,但我希望找到一個更好的解決方案或解決此問題的方法。

+0

我們可以看到一些AJAX調用嗎? – worc

回答

2

由於瀏覽器沒有本地日期傳輸變量,因此您的瀏覽器不會搞亂日期。你有其他的事情是這樣做的。你如何在ajax中發送你的日期? JSON? Json只會發送數字或字符串。 XML只會發送字符串。

東西正在轉換您的發送日期到一個JavaScript日期對象,找出它是什麼。

+0

這是第三方組件,日期顯示在Telerik Grid中,可能是罪魁禍首。感謝您的快速回復。我仍然不確定該怎麼處理這個問題,Telerik支持通常是無益的。 –

+0

您可以將日期作爲unix時間戳(整數)發送嗎?那些始終是UTC,並且很容易轉換。而不是「當我檢索日期時,它將使用此偏移量轉換回到它們的本地日期。」在最後一刻執行轉換 - 在顯示之前。 – Ariel

+0

我正在使用asp.Net MVC。我在返回視圖之前在控制器中轉換它們。 –