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

标签 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,为什么?

最佳答案

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

Description

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

Returns a string formatted according to the given format string using the given integer timestamp or the current time if no timestamp is given. In other words, timestamp is optional and defaults to the value of 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');

引用:

关于php 日期函数返回一个我没想到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14594828/

相关文章:

mysql - SQL Left join 基于现有值

java - SimpleDateFormat 在 Android 中的行为很奇怪

Java 时间戳 : Joda vs Date vs Long

php - MYSQL PHP 查询中的多个计数

php - 无法在一个表单中上传多个文件

php - 如何将带有参数的 URI 路由到 codeigniter 中的方法?

python - 在python中将字符串解析为日期

PHP Mkdir 不递归执行?

php - MYSQL PHP : Find duplicates based on Address Column

php - 获取url参数并插入数据库