我正在使用 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]
也是一个格式化的日期字段,引起了我的困惑。谢谢您的帮助!