使用NodeJS插入MySQL日期

时间:2016-12-08 08:28:44

标签: mysql node.js sequelize.js

我想使用NodeJS插入MySQL日期,但它不起作用。

我的新约会:1989-12-31 00:00:00

NodeJS插入后:1989-12-30 23:00:00

NodeJS插入:

var user = request.body.user;
user.birth = user.birth.year + '-' + user.birth.month + '-' + user.birth.day + ' 00:00:00';
this.userDao.save(user);

new Date()使用Javascript的结果:

Thu Dec 08 2016 11:00:15 GMT+0100 (Paris, Madrid)

如果我添加一小时的插入日期就可以了。

1 个答案:

答案 0 :(得分:2)

您需要在Sequelize中设置options.timezone,否则它将使用数据库服务器的时区偏移量,在您的情况下似乎是GMT,或偏离巴黎一小时。

  

[options.timezone='+00:00']

     

将日期从数据库转换为JavaScript日期时使用的时区。连接到服务器时,时区也用于设置TIMEZONE,以确保NOW,CURRENT_TIMESTAMP和其他时间相关功能的结果具有正确的时区。为获得最佳跨平台性能,请使用格式+/- HH:MM。还将接受moment.js使用的字符串版本的时区(例如'America / Los_Angeles');这对于捕捉夏令时变化非常有用。

Sequelize连接

const sequelize = new Sequelize(db, user, pass, { timezone: 'Europe/Paris' });