php date函数返回一个我没想到的结果

时间:2013-01-30 00:43:15

标签: php mysql date datetime

在我的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,为什么?

1 个答案:

答案 0 :(得分:5)

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

  

<强>描述

     

string date(string $ format [,int $ timestamp = time()])

     

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

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');

参考: