2012-02-01 39 views
1

我在這個問題上做了大量的閱讀,我不認爲它聽起來很簡單。CMS中的時區和顯示日期

我們正在構建專有的CMS,經過大量研究後,決定將所有日期和時間存儲爲UTC(作爲INT字段中的unix時間戳或DATETIME字段)。

我完全熟悉如何處理時偏移等

由於我們存儲所有日期/時間值作爲UTC和顯示這些值的點轉換這些值到一個特定的時區:

  1. 在CMS軟件中,如果更改網站的時區,顯示值會發生變化,這是否很常見?例如,假設您的偏移量爲+10,因此顯示的日期是2011年3月1日14:15;並且將偏移量更改爲-10,那麼該文章顯示的日期和時間會更改爲2011年2月28日18:15?

  2. 如果這是正確的,如果您的時區設置遵守夏令時,會發生什麼情況?當然,當時區偏移量因夏時制時間而改變時,以前發佈的所有文章的日期和時間也會發生變化,因此可能會移動日期或月份?我沒有看到這將是一個吸引人的功能。

從本質上講,我問如何啓用日期和時間的時區變更,而沒有第二個效果。或者我弄錯了所有的東西?

非常感謝提前!

回答

1

建議根據UTC存儲所有日期時間戳。

每當您向用戶顯示日期或時間時,請使用網站全局時區設置確定上下文,無論管理員可以配置什麼,或通過檢查當前用戶時區是什麼。這個邏輯取決於你決定什麼是最適合的日期或時間戳是指什麼。

這是我爲在英國擁有中國客戶的倉庫客戶開發自己的CMS時所使用的解決方案。

相關問題