在我的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,为什么?
答案 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');
参考: