2011-11-07 122 views
0

我使用NOW()函數,但我得到這個奇怪的日期:插入日期數據庫MySQL中

2011-11-06

如何獲得以下歐洲日期:

SS: MM:DD HH:MM:今年(2011年6月11日)

在我的數據庫我設置字段列日截止日

你怎麼DATEFORMAT融入這個查詢:

$avatar_Q=mysql_query(" 
       SELECT user_name,avatar,reputation,comment, DATE_FORMAT(date,'%d/%m/%Y %h:%i') AS rightNow 
       FROM comments AS com 
       INNER JOIN users AS us ON com.user_id=us.user_id 
       WHERE comment_id=$commentID 
     ") or die(mysql_error()); 

的日期是在列的表

+0

通過顯示您的日期** **怪你的意思是YYYY-MM-DD – ManseUK

+0

重新您的更新 - 你需要在選擇包括表名聲明 - 即'users.username' – ManseUK

回答

3

MySQL使用以下日期格式 - YYYY-MM-DD - 如果你想有一個不同的格式,你需要使用DATE_FORMAT功能上選擇

例如:

SELECT DATE_FORMAT(datecolumn,"%d/%m/%Y %h:%i") 
FROM atable 

要集成date_format功能到您的select聲明你需要列出個別領域

+0

更新我的答案..它給了我這個:列'日期'在字段列表中是不明確的 – WithFlyingColors

+0

@WithFlyingColors你的意思是問題?你需要在選擇列表中包含表名 - 例如'users.user_name,tablename.date'等等.. – ManseUK

+0

好吧..我得到了我想要的東西..有時候我得到這個由於某種原因 – WithFlyingColors

0

我個人的建議是,以保存日期爲UNIX時間戳(使用time()功能),

這樣,你願意,你可以將其格式化。

Shai。

+1

取決於你的專欄是檢查了這一點 - > http://stackoverflow.com/questions/409286/datetime-vs-timestamp – ManseUK

+0

@ManseUK:好點。還有一些提示,爲什麼不在數據庫中使用Unix時間戳,以及爲什麼本地時間戳更好。不要存儲Unix時間戳,而是使用'TIMESTAMP'列類型是個好主意。 – Tadeck

+0

@Tadeck theres用於這兩種數據類型 - 肯定同意:-) – ManseUK

1

是的,使用一個時間戳列和插入與CURRENT_TIMESTAMP。它可以節省很多時間! :)

+0

取決於你的專欄是什麼 - 檢查了這一點http:///stackoverflow.com/questions/409286/datetime-vs-timestamp – ManseUK

+0

使用TimeStamp類型列從來沒有任何類型的問題。此外,由於它使用UNIX時間戳格式,所以Date列的速度要快很多。所以你應該使用TimeStamp而不是Date。而且,使用PHP,您可以在沒有任何代碼的情況下獲得正確的結果! –

+0

我沒有說使用'TIMESTAMP'數據類型是錯誤的......只是取決於具體情況 - 不知道OP使用的列是什麼 – ManseUK