2013-11-28 33 views
0

對於我的新的數據庫,我想從PHP給定的日期和時間,一年節省我的mysqli的數據庫,在SQL我可以做一個領域:我應該用什麼來保存日期和時間

DATE 

DATETIME 

TIMESTAMP 

TIME 

YEAR 

我只用php使用數據庫,我應該選擇什麼類型?併爲什麼的原因。

我認爲datetime和timestamp是最好的選擇。但無法找到任何理由爲什麼1應該比另一個更好。有人可以幫我選擇嗎?

還是更好地保存日期​​時間和年份分開?

我要讓querys擺脫上週等

+0

取決於你要使用什麼。如果您要存儲日期,請勿使用「TIMESTAMP」。如果您要存儲時間戳,請不要使用「日期」。如果你不需要時間,不要使用'DATETIME'。 –

+0

我個人使用datetime用戶指定/變量的日期和時間戳與存儲當前插入啓用時,我只需要存儲now()時間記錄插入。雖然我個人發現datetime/timestamps更容易處理 – Dave

+0

我想存儲事件的日期時間和年份,但它們都非常棒。 –

回答

1

值對於我的新的數據庫,我想從PHP給定的日期和時間,一年節省到我的數據庫

所以,將其存儲爲DATETIME。它包括年份。

這裏是如何在這些類型看:

  • DATE:使用日期(多年),例如AA生日( 「2010-11-23」)

  • TIME:使用例如午餐開始(「12:00」)

  • DATETIME:用於特定的日期和時間,例如會議的開始(「2010-11-23 12:00「)

  • TIMESTAMP:用於發生特定事情時,例如某個會議創建的時間(「1385653500」;這往往包括在其定義時區信息)

  • YEAR:使用一年開始每年存儲,例如戰爭(「1653」)

請注意,您可以隨時施放「較大的「類型改爲」更小「的類型。例如。你可以投入DATEYEAR

+0

時間戳包括幾年來的權利? –

+0

@SvenB是的,它可以從它的定義中計算出來(這裏有很多時間戳),我在每個答案中都添加了一些示例。 –

+0

只是一個說明'TIMESTAMP'還可以存儲日期IM日期時間格式,即'yyyy-mm-dd hh:ii:ss'它不必將其存儲爲紀元時間戳 – Dave

相關問題