2010-01-27 48 views
9

對於一個調度系統,什麼是最好的方式來保存來自多個來源移動,網絡,客戶端應用程序的中央服務器數據庫中的客戶端/事件的時區。你如何處理時區問題?

  • 如何存儲日期?警報,提醒等...
  • 你如何處理DST設置?
  • 如果客戶已經去過不同的地點,你如何處理這些事件?

我需要解決方案來處理標記中的所有數據庫。

+0

請注意,下面列出的答案都表明純UTC方法,這對於調度系統的情況*是不理想的。請參閱dup文件中的接受答案。謝謝。 – 2017-07-28 21:46:20

回答

5

這些是我傾向於使用的戰略的關鍵點。

  • 每個日期都是UTC在系統內部。
  • 用戶顯示日期他們的當地時間。
  • 我們允許用戶覆蓋他們旅行時使用的時區,他們希望保持時區一致。
  • 使時區更易於看到。既可以用時間顯示,也可以作爲列標題的一部分顯示。
8

UTC中的所有內容,以及偏移量的另一列。

+0

當DST改變時,偏移量可能會改變,您是如何改變偏移量的? – Pentium10 2010-01-27 15:45:40

+0

絕對是正確的答案。如果你不使用一個特定的時區來建立所有時間戳等,你將會遇到一個問題世界。只需使用帶日期範圍的偏移查找表,然後將用戶鏈接到該表。不要將偏移量存儲爲實際的數字。 – Satanicpuppy 2010-01-27 15:46:11

+0

偏移量被存儲爲例如。 'EST5EDT'。 – 2010-01-27 15:52:28

3

存儲日期爲UTC時間戳 - 將數據顯示到用戶時轉換爲本地時間。

0
  1. 安全在理想情況下一個特定的時間區存儲在UTC
  2. 如果存放時間與日期,你是在DST安全。
  3. 建議您使用Web服務來查找時差。