2

在我的 mysql 数据库中,我得到了一个时间戳字段,其值为:

2013-01-30 01:15:00
2013-01-30 01:20:00

我使用日期函数将其打印为 24HOUR:MINUTE 格式,但我得到了错误的时间结果。

mysql_query('SELECT time FROM locations ORDER BY time ASC');
...
echo "<td>" . date('H:i',$row['time']) . "</td>";

两条记录的输出都是:00:33,为什么?

4

1 回答 1

5

第二个参数date()是 Unix 时间戳。

描述

字符串日期 ( 字符串 $format [, int $timestamp = time() ] )

返回根据给定格式字符串格式化的字符串,使用给定的整数时间戳或当前时间(如果没有给出时间戳)。换句话说,timestamp 是可选的,默认为 time() 的值。

echo "<td>" . date('H:i', strtotime($row['time'])) . "</td>";

另一种解决方案是使用 DateTime:

$datetime = new DateTime($row['time']);
echo $datetime->format('H:i');

// or in PHP5.5+
echo (new DateTime($row['time']))->format('H:i');

参考:

于 2013-01-30T00:44:53.080 回答