如何将 MySQL 查询返回的 RowDataPacket 中的时间格式转换为常见格式?
如图,通过 Node.js 的 conn.query 查询 MySQL 数据库( 数据库中的「time_log」列数据格式为 DATETIME ),返回的 RowDataPacket 中时间格式为 ISO 8601 格式。有没有什么方法能让它返回「2018-04-23 02:56:52」这种常见的格式呢?
3 回复
问题解决了。没人回复我就自己留一下,以备遇到相同问题的同学查看。
在 MDN 上发现一个 Date.LocaleString()
方法( MDN - Date.prototype.toLocaleString() )。可以将该时间对象转换为字符串。结果根据不同地区而不同,刚好在中国显示结果为「yyyy-MM-dd HH:mm:ss」。
可以用moment组件,想要什么格式就要什么格式
初始化的时候加一个配置试试
dialectOptions: {
dateStrings: true, //禁止mysql的转换
typeCast: true //覆盖了sequelize的转换,看代码,目前只影响date和GEOMETRY,能用
},
timezone: '+08:00'