2010-08-16 69 views
1

我從Kjensen得到this answer和閱讀的答案,但是這是一個不同的webapp你如何處理網站中的不同時區?

我運行處理收到的訂單安排的活動,集採摘材料,管理跟蹤&跟蹤號碼等......而我呢這在一天的特定時間(在管理面板中設置)

我的服務器在英國(DiscountAsp.net),但我提前2小時。

我真正想要的是,每次撥打電話DateTime.Now時,系統都會自動更改爲我的時間而不是本地服務器時間。這也應該處理夏令時。

我曾考慮過使用Extension來簡單地調用DateTime.MyLocalTime,並使用TimeInfo來增加/減少正確的小時數。

在過去的好日子裏,我在Global.asa(ASP)中做了這個...我只是想知道是否有更好的方法來處理這個問題。

+0

管理時區,跨時區日期轉換和夏時制時間消耗的時間更多,使我的開發生活比其他任何問題都更加悲慘。當數據在一個時區收集,存儲在另一個時區,由另一個時區的網絡服務器檢索並在另一個時區的瀏覽器中顯示給用戶時,它變得更加「有趣」。我的心向你靠近! :) – mikemanne 2010-08-16 17:59:10

回答

7

而不是保存到一個特定的時區(IST,格林威治標準時間,EST等),我覺得它是一個不錯的主意,存儲爲UTC。

作爲UTC存儲簡單地消除了夏令時邊界的問題 - 23小時或25小時的日子。

存儲用戶的時區可以根據他們的偏好或自動魔法猜測。

然後在保存和檢索數據並適當顯示時進行算術運算。