我有一个MySQL数据库表,其列名为"timestamp"
,类型为timestamp
,属性为on update CURRENT_TIMESTAMP
,默认值为CURRENT_TIMESTAMP
。如何将MySQL TIMESTAMP转换为PHP中的日期时间
如果我在表中添加一条记录,指定其他值,但不是时间戳,那么时间戳会自动添加,如2016-12-28 17:02:26
。
在PHP我使用下面的查询
SELECT * FROM history WHERE user_id = 9 ORDER BY timestamp ASC
查询的结果被保存到$rows
查询表和我使用foreach
与一些格式化其他值创建一个数组。我正试图将时间戳格式化为英国式的24小时日期时间:dd/mm/yy, HH:MM:SS
。
我试图两者date()
和strftime()
功能如下:
$formatted_datetime = strftime("%d %m %y %H %M %S", $row["timestamp"]);
$formatted_datetime = date("d/m/y, H:i:s", $row["timestamp"]);
这两个结果在以下通知和日期时间被输出不正确地像01 01 70 00 33 36
:
说明:甲第20行中的/home/ubuntu/workspace/pset7/public/history.php中遇到的格式不正确的数字值
我是PHP和MySQL的新手,到目前为止,我看到的其他问题或文档都没有成功解决执行此转换问题。我不明白为什么strftime()
无法正常工作,以及如何正确执行此操作?
的可能的复制[转换MySQL的时间戳为实际的日期和时间?(http://stackoverflow.com/questions/5547252/convert-mysql-timestamp-into-actual-date-and-时间) – Tiger
旁注:由于其限制,我不会使用'TIMESTAMP':*“TIMESTAMP数据类型用于包含日期和时间部分的值.TIMEESTAMP的范围为'1970-01-01 00:00 :01'UTC to **'2038-01-19 03:14:07'** UTC。“* https://dev.mysql.com/doc/refman/5.5/en/datetime.html使用'DATETIME' *“DATETIME类型用于包含日期和时间部分的值,MySQL以'YYYY-MM-DD HH:MM:SS'格式检索并显示DATETIME值。支持的范围是'1000-01-01 00: 00:00'到**'9999-12-31 23:59:59'。**“* –
@Tiger那里所选的解决方案似乎...很多。我会受益于我桌子上时间戳列的不同类型吗? – Toby