我有一個MySQL表,其中有一列add_date
。它跟蹤記錄添加到數據庫的日期/時間。 1小時前,3個月前,1年前等
- 顯示:基於該表
查詢/月/年。因此,用戶可能被允許選擇僅查看2009年插入的記錄。
這將是在這種情況下更好 - UNIX時間戳或日期時間?
現在我正在使用這兩種方法,但由於表格隨着時間的推移會有數百萬條記錄,因此這兩列可能會影響數據庫的大小。
Unix時間戳似乎是在PHP轉換更好地2 hours
前格式,也實在是時區獨立。但日期時間具有更好的可讀性,並且查詢特定的日期/時間/年似乎更容易。
您的建議?
這個。只要使用UNIX_TIMESTAMP(your_column),如果你想在PHP端使用時間戳。 但在數據庫中,使用本機日期類型來存儲日期。此外,數據庫中的數據可能被其他可能偏好SQL日期格式的應用程序使用,而不是時間戳。 – Arkh 2010-06-01 09:39:30
關於時區,將日期轉換爲unix時間戳會有什麼問題嗎? – Yeti 2010-06-01 09:39:59
@Lost_in_code實際上是個好問題。涉及多種因素,mySQL服務器的時區設置以及PHP默認使用的系統時區設置。通常,mySQL DATETIME字段是時區不敏感的。只要您在那裏存儲UTC日期,您應該可以輕鬆地將它們轉換爲時間戳,但是如果mySQL和/或PHP的時區與UTC不同,請小心。相關:http://stackoverflow.com/questions/18449/dealing-with-php-server-and-mysql-server-in-different-time-zones – 2010-06-01 11:08:20