-1

我正在使用 php 从 MySQL 数据库中获取日期时间。

在 mysql 中,日期时间如下所示:

'2004-11-03 06:29:48'

从数据库中获取日期时间的代码行如下所示:

$epochTime = strtotime($row[8]);

php 的 strtotime 函数将这个时间转换为错误的纪元时间:

1099461600

这是不正确的。如果您使用http://www.epochconverter.com/将其转换回来,您会看到最初在 mysql 中的时间已经丢失:

格林威治标准时间 2004 年 11 月 3 日星期三 06:00:00

如何获得具有与 mysql 日期时间匹配的特异性的准确纪元时间?

编辑:

我刚刚发现mysql只返回日期(没有时间):

2004/11/03

我试图强迫它使用这个来返回时间:

select DATE_FORMAT(`FieldDateTime`,'%Y-%m-%d %k:%I:%s') from table where id=1;

但这也不起作用。它继续只返回日期(没有时间)。

确认!我想到了。我在数组中指定了错误的字段:

$epochTime = strtotime($row[8]);

本来应该:

$epochTime = strtotime($row[9]);

原来这$row[8]也是一个格式化的日期字段,引起了我的困惑。谢谢您的帮助!

4

1 回答 1

3

你可以试试:

SELECT UNIX_TIMESTAMP(`timestamp_column_name`) AS `timestamp`;

然后在 PHP 中:

echo date("Y-m-d H:i:s", $row['timestamp']);

这与 MySQL 匹配吗?

于 2012-05-31T17:57:08.960 回答