使用AM和PM将MySQL时间转换为标准时间

时间:2012-08-09 01:46:14

标签: php mysql time

使用PHP date()函数时,无法从MySQL fetch_array转换AM时间值。不知道为什么下面的停止时间打印为下午7点,应该是上午11点。有任何想法吗?非常感谢任何帮助!

<?php
$mysql_output = array('start' => '19:00:00','stop' => '11:00:00');

$start_time = date('g:iA',$mysql_output['start']);
$stop_time = date('g:iA',$mysql_output['stop']);

echo "<p>start_time: $start_time</p>";
echo "<p>stop_time: $stop_time</p>";
?>

结果不能正确转换AM时间;对于 stop_time

,请阅读上午11:00
start_time: 7:00PM
stop_time: 7:00PM

3 个答案:

答案 0 :(得分:7)

date()函数采用Unix时间戳,而不是字符串datetimestamp。您需要首先通过strtotime()放置一个MySQL datetimestamp。

$start_time = date('g:iA', strtotime($mysql_output['start']));
$stop_time = date('g:iA', strtotime($mysql_output['stop']));

答案 1 :(得分:1)

如果您希望mysql为您转换它,只需使用DATE_FORMAT( )函数。

SQLFiddle Demo

答案 2 :(得分:0)

日期功能误解了您的数据。

您应首先创建一个时间对象,然后将其作为参数传递到日期。