2011-01-26 21 views

回答

6

不要改變這些值的方式保存。改變他們的方式輸出

TIME_FORMAT()

在你的情況,這將顯示一個TIME場爲10:16:08 PM

SELECT TIME_FORMAT(timefield, "%l:%i:%s %p") AS date_formatted; 
+0

如果我這樣做,將獲取的記錄的方式是不同的SELECT DATE_FORMAT(DATE,「%Y-%間 - %d%H:%I:% ($ row = mysql_fetch_assoc($ res)){ echo $ row ['DATE']; } – 2011-01-26 14:34:51

+0

@Ieyasu好點。我修改了示例查詢。如果你使用`AS`給它一個別名,你就可以使用`echo $ row [「date_formatted」];` – 2011-01-26 14:36:50

1

你應該可以保存日期/原始格式,這在MySQL是24小時格式的時間值。你可以改變他們如何與

SELECT DATE_FORMAT(somedatetimefield, 'format string here') 
FROM table 

在格式字符串選項定義here

如果做手工,每查詢是一個問題檢索,你總是可以創建一個視圖來爲你做它自動。

1

你真的不應該改變數據在MySQL中的保存方式。相反,你只應該以不同的方式呈現。您可以使用PHP的date函數以任何您想要的方式格式化日期。這是一個巨大的優勢,因爲您正在分離數據的保存方式以及數據的呈現方式。

1

使用DATEFORMAT可以保存/提取你怎麼想(像PHP date()的語法)的日期

1

就像佩卡說:不要改變這些值是如何保存的方式。

您還可以輕鬆地在PHP中使用date()

date("hh:ii:ss") 該拿出你在你的例子使用的格式處理這個問題。 (這是12小時格式和前導零。)