2013-06-26 47 views
1

我在mysql中時間的格式爲HH:MM:SS 我如何可以轉換到12小時的時間,也拆除秒,因爲他們都是00如何轉換MySQL的時間

例如:

14:30:00 

MySQL的

$finalresult = mysql_query("SELECT * FROM events WHERE clubID IN (" . implode(',', $clubIDs) . ") ORDER BY date ASC, TIME(startTime) ASC"); 

while($finalrow = mysql_fetch_assoc($finalresult)) { 

$originaltime = $finalrow['startTime']; 
$newtime = TIME_FORMAT($originaltime, '%h:%i %p'); 

} 
+0

這實際上是一個基本問題。 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html – woz

+1

這可能會幫助你找到你要找的東西http://stackoverflow.com/questions/13616672/如何將時間轉換爲十進制in-sql-with-an-integer –

回答

4

使用TIME_FORMAT

SELECT TIME_FORMAT('14:30:00', '%h:%i %p'); /* 02:30 PM */ 

你的PHP更改爲這樣的事情:

$finalresult = mysql_query("SELECT Field1, Field2, TIME_FORMAT(DateField, '%h:%i %p') AS TheTime FROM events WHERE clubID IN (" . implode(',', $clubIDs) . ") ORDER BY date ASC, TIME(startTime) ASC"); 

這包括擺脫*和指定要每個字段。

+0

我收到time_format()函數未定義的錯誤 – nshah

+0

$ newtime = TIME_FORMAT($ originaltime,'%h:%i% p'); – nshah

+0

'TIME_FORMAT'是一個MySQL函數,不是PHP函數。我不知道你使用的是PHP。 – woz

1

如果是TIME類型,則可以使用TIME_FORMAT函數。

要獲得12小時的時間,不秒:

TIME_FORMAT(myTime, '%h:%i') 

的14時24分38秒的時會出來爲2:24

如果現在你已經轉換爲12小時制所需要的AM/PM指示,只需添加%p格式代碼:

TIME_FORMAT(myTime, '%h:%i %p') 

對於這一點,14時24分38秒時間將出現爲2:24 PM

+0

我得到time_format()函數未定義的錯誤 – nshah

+0

$ newtime = TIME_FORMAT($ originaltime,'%h:%i%p'); – nshah

+0

啊,我明白了 - 我給出的答案是針對MySQL,而不是針對PHP。如果在MySQL查詢中包含'TIME_FORMAT'函數調用,則不需要在PHP中進行轉換/格式化。 –