2011-09-30 168 views
2

今天我使用PHP和MySQL工作,並將Timestamp字段中的日期存儲到MySQL中,但默認情況下是24/h格式,如果有人知道如何確定這個小時到AM或PM例如:將CURRENT_TIMESTAMP格式設置爲AM&PM

14:05 -> 2:05PM 
02:05 -> 2:05AM 

很多感謝您的時間。

+0

對我來說,它不完全清楚你想要什麼。你給mysql添加一個時間戳,並且想要以12/h格式在這個時間戳的後面得到一個輸出結果? – Talisin

回答

6

您可以使用DATE_FORMAT()

SELECT DATE_FORMAT(hour_column, '%r'); 
+0

謝謝你解決我的問題 –

1

不,不,不。 「時間戳」值可能意味着「上午11:00」(如果您在紐約),但同一個值也意味着「下午4:00」(如果您在英格蘭格林威治)。

時間戳值獨立於你所在的時區。

說了這麼多,你要轉換的日期時間字符串(24/h的格式),爲不同的日期時間字符串(轉換爲12 /子午線格式)。

從MySQL或PHP輕鬆完成:無論你喜歡什麼。

這裏是PHP日期/時間格式的功能和相應的格式字符串:

http://php.net/manual/en/function.strtotime.php

http://www.php.net/manual/en/datetime.formats.time.php

這裏是MySQL參考網頁:

http://dev.mysql.com/doc/refman/5.5/en/datetime.html

​​

+0

你的回覆非常有幫助 –

1

DateTime將是你的朋友。

首先,如果你的PHP配置這麼想的已經設置了你,通過設置默認的時區:

date_default_timezone_set('XXXX'); 

XXXX代表的值了List of supported timezones

由初始化日期:

$date = new DateTime(); 

爲了讓您的時間戳現在可以使用:

$timestamp = $date->getTimestamp(); 

如前所述,輸出(格式)取決於您的時區。您可以提前設定默認時區,但您可以根據需要隨時更改。

要格式化您可以使用此日期:

$12h = $date->format('h:i:s a'); 
$24h = $date->format('H:i:s a'); 

要了解更多有關的DateTime看看DateTime class manual