2010-08-06 51 views
3

我正在構建一個簡單的CMS來管理文章。 我的MS SQL Server 2008在美國託管,數據庫的作者位於美國和德國。最佳實踐日期和時間註冊

當作者在DataBase中創建一篇文章時,我想記錄創建日期。

我想在網站上顯示日期,所有內容和文章都是從德國創建的。

我的問題: 答:shell我在數據庫和業務邏輯層中使用SYSDATETIMEOFFSET()作爲DEFAULT轉換爲德國時間?

B) - 我應該直接從業務邏輯層添加DATE,而不讓DataBase添加日期時間,並將數據顯示爲原樣?

我希望我的問題很清楚。 如果你能夠給我一些鏈接的資源我將不勝感激

謝謝你們:-)

+0

相關問題 - - http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices – Oded 2010-08-06 09:38:37

回答

6

店日期在SQL Server中完成的,使用此日期在應用程序內爲好。

只在最後一刻轉換爲本地時間顯示。

datetime,夏令時和時區的最佳做法收集在this問題中。

3

我的建議是去與UTC - 這種方式,您有絕對參考系。

這是與時區偏移UTC使用

select getutcdate() 
0

將標準時間的日期存儲在您的數據庫中,而不管它來自哪個時區。

存儲/計算用戶的時區,並且無論何時向用戶顯示數據,都將其轉換爲用戶在BL /表示層中的時區。不要在用戶界面中進行,最終會導致疼痛!

+0

謝謝fiona,對不起,你是什麼意思的用戶界面? – GibboK 2010-08-06 10:48:12

+0

用戶界面,不好意思:) – 2010-08-06 11:16:37

+0

現在很清楚:-)謝謝 – GibboK 2010-08-06 12:38:56