2013-08-20 83 views
0

我有一個相當大的中央MySQL數據庫。到目前爲止,我一直在使用unix時間戳來存儲日期/時間。時間戳,時區和夏令時節省

這一切都運行良好,直到幾個月前,當從數據庫中檢索到的所有突然的大量數據都丟失了。我檢查了數據庫,這一切都沒有改變。

我創建的應用程序是精確到秒,而當一大跳儲蓄接手,它通過我(在一小時3600秒)的應用程序關閉的3599秒

我想圍繞我的頭時區/日光節約等,並努力理解這些概念咯!

我所有的PHP文件都設置爲Europe/London時區。我的數據庫中的所有日期,時間等都存儲爲unix時間戳(整數)。

我應該將所有時間戳轉換爲datetime()字段類型嗎?或者有沒有辦法避免日光節約?如果我切換到UTC,我是否需要調整任何時間戳?

任何意見非常感謝。

+0

的[夏令時和時區的最佳做法]可能重複(http://stackoverflow.com/questions/2532729/daylight-saving-time-and-time-區域最佳做法) – vascowhite

回答

1

您可以保持您的unix時間戳不變。

這是你的應用程序將檢索到的時間更改爲服務器時間,歐洲/倫敦在你的情況,它實現了你所知道的DST。

將您的服務器設置爲UTC並開始使用DateTime類以避免將來出現這些問題。

同時一定要設置你的default timezone to UTC in php.ini

+0

感謝您的回覆,@ vascowhite。我以前檢查過發表在原帖的評論中的鏈接,但只是簡單地介紹一下。 不幸的是,我似乎無法繞開時代!我將研究DateTime類。 –