Node中Sequelize从mysql中查出的时间不对
我的node服务使用Sequelize来接已经创建好的mysql;
mysql的时间类型为timestamp,而在Sequelize中定义的模型是这样的:
module.exports = function (sequelize, DataTypes) { var User = sequelize.define("user", { id: { type: DataTypes.BIGINT, primaryKey: true }, create_time: DataTypes.DATE, update_time: DataTypes.DATE },{ freezeTableName: true, timestamps: false }); return User; }; 当我往数据库插入一条记录时 var data = { id: 1234, create_time: new Date(), update_time: new Date() }; User.create(data).then(function (result) { console.log('添加成功!'); }).catch(function (err) { console.log('添加失败!'); });
数据是这样显示的
但是我查出来的记录却是这样的
{
"id": 1234,
"create_time": "2017-08-04T01:46:36.000Z",
"update_time": "2017-08-04T01:46:36.000Z"
}
数据库的时间是Linux时间,但是好像没用那个时间
我用sql语句查出来时间是对的,所以我觉得是Sequelize的问题.
我尝试用moment.UTC().format()来转化他,好像不好使.
但我觉得这样是不可取的,假设我要查1万条数据我不可能转化1万次吧!
我感觉是Sequelize中定义模型的问题,能有人帮帮我吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
差了14个时区,感觉确实不对,改改试试: