2011-12-24 89 views

回答

2

MySQL確實有一個可以使用的本機DateTime類型,否則可以將unix時間戳存儲爲INT。兩者之間有微妙的差異。如果您想在查詢中執行任何日期操作(例如在上週檢索所有條目),那麼MySQL的本機列類型可能是最好的。無論哪種方式,您可能需要考慮如何處理時區 - 即使您認爲它現在沒有關係,它現在可能會更進一步(比如僅處理DST)。有一本關於處理PHP日期和時間的書(PHPArch book on Date and Time)。我本人還沒有讀過它(但是!),但作者Derrick Rethans幾乎知道關於這個主題的一切。

+0

謝謝,我知道它,但特別想通過PHP函數來做到這一點。你也提出了很好的觀點。無論如何,我明白你的答案是INT呢? – 2011-12-24 11:37:52

+0

你知道應該設置多長時間嗎? – 2011-12-24 11:40:41

+0

取決於您需要處理的日期範圍。我很確定UNSIGNED INT將處理一個PHP unix時間戳可以在32位系統上處理的所有值。如果你想要比這更進一步,或者你正在使用PHP的DateTime類,你可能需要檢查。 MySQL的DATE字段在將來幾乎可以處理任何日期。 – liquorvicar 2011-12-24 12:55:03

0

如果您希望在MySQL數據庫中包含插入/更新查詢的時間,可以直接使用MySQL。此鏈接應該有所幫助。 Click Here。要解決您的問題,請檢查子標題下的內容 - 使用當前時間戳創建表格。祝一切順利。

+0

我知道,我想專門使用php。看到這裏:[鏈接](http://stackoverflow.com/questions/8623868/retrieving-timestamp-from-mysql-row-upon-creation-of-new-row-entry)感謝您的參考,我檢查出來。 – 2011-12-24 11:36:31