有很多關於處理日期的建議。我只想澄清一些事情。比方說:PHP可以安全地使用unix時間戳來查詢mysql數據庫嗎?
- 用戶插入記錄到數據庫中
- UNIX插入日期的時間戳該記錄
現在用戶要查詢的日期間隔在數據庫中生成:
- user在當地時區提供了2日期
- 使用這些值將時區轉換爲UTC並獲取timest amp
- 根據轉換中的2個整數查詢數據庫中的記錄(例如, WHERE日期> = FIRST和日期< =秒)
- 再次轉換檢索到的時間戳到本地時區顯示
我知道這將是可能的,使用PHP,但並不會需要關心MySQL的時區在這種情況下設置 - 只有PHP的。該系統將是64位,所以用盡空間來存儲日期不是問題。但...
會引發任何其他嚴重問題,如DST更改或其他?
是什麼讓你懷疑這些問題?由於您不確定Mysql如何處理這些時間戳,例如數據庫中屬於哪個時區?你是否將日期存儲爲Unix時間戳,或者如何存儲它們? – hakre
我本性可疑。由於我不知道日期和時間處理的所有信息,因此我很自然地只是爲了確保一切正常而尋求答案。不,我將unix時間戳存儲爲大整數而不是TIMESTAMP字段。我不想讓MySQL甚至知道我們在這裏處理日期。 – Marius
然後請參閱我會說的@ Tadeck的答案。 – hakre