2011-09-30 26 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

相关问题