2010-09-27 92 views
5

我會將用戶(本地時間)輸入的所有日期時間&轉換爲UTC並將其存儲在數據庫中。當顯示回來時,我會將UTC時間轉換爲其配置文件中設置的時區。好嗎?在數據庫中存儲UTC日期時間

+5

這是非常好的。 – 2010-09-27 15:19:19

+0

@Mark Ransom:爲什麼不把它作爲一個正確的答案,以便可以關閉這個問題? – 2010-09-27 15:22:03

+0

@Ates,正確的答案需要一些理由和警告,我沒有準備提供。我無法抗拒給出的開場白。 – 2010-09-27 15:24:59

回答

3

我覺得這很好。除了將用戶時區存儲在配置文件中外,還可以讓客戶端(例如javascript)根據用戶計算機時區轉換UTC時間。

1

只要您可以從存儲的數據庫記錄轉換到/從任何時區,這就是您所需要的。

你所描述的將會起作用。

1

注意一些MySQL documentation在問候時區&服務器/客戶機工作原理:

每個連接的時區。
每個連接的客戶端都有自己的時區設置,由會話time_zone變量給出。最初,會話變量從全局time_zone變量中獲取其值,但客戶端可以使用以下語句更改其自己的時區:
mysql> SET time_zone = timezone;

因此,通常情況下,在您提出的解決方案中,一切都是正確的,但不要讓實際的服務器或客戶端時區變化引起您的注意。

相關問題