0

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

<?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
4

3 回答 3

7

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

$start_time = date('g:iA', strtotime($mysql_output['start']));
$stop_time = date('g:iA', strtotime($mysql_output['stop']));
于 2012-08-09T01:54:58.070 回答
1

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

SQLFiddle 演示

于 2012-08-09T01:58:58.353 回答
0

日期函数误解了您的数据。

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

于 2012-08-09T01:55:29.020 回答