从mysql获取格式正确的日期

从mysql获取格式正确的日期,mysql,node.js,datetime,Mysql,Node.js,Datetime,我在nodejs应用程序中从mysql获取日期时间时遇到问题。 返回的日期格式不正确 我的表中有这一行: id: 1 event: xxx date: 2020-01-31 15:00:00 我是这样理解的: let sql = "SELECT * FROM events"; db.query(sql, function(error, results) { console.log(results); ... } 返回的行是: RowDataPacket { id: 1,

我在nodejs应用程序中从mysql获取日期时间时遇到问题。 返回的日期格式不正确

我的表中有这一行:

id: 1
event: xxx
date: 2020-01-31 15:00:00
我是这样理解的:

let sql = "SELECT * FROM events";
db.query(sql, function(error, results) {
  console.log(results);
  ...
}
返回的行是:

RowDataPacket {
    id: 1,
    event: 'xxx',
    date: 2020-01-31T14:00:00.000Z
}
如果我将此行推送到另一个表(已消费的事件),则表中插入的日期为:

2020-01-31 14:00:00

而不是

2020-01-31 15:00:00

我能做些什么来防止这种行为? 我不知道怎样才能从数据库中找到正确的日期


提前谢谢你

多亏了nbk的评论,我才得以工作

解决方案是在启动mysql连接时添加时区:

db = mysql.createConnection({
    host:     "...",
    user:     "...",
    password: "...",
    database: "...",
    timezone: 'utc'
});

当您说它检索并插入
14:00
时,不确定您为什么期望
15:00
。也许这个问题有错?哦,我明白了。您是如何检索显示的第一条记录的?您有哪个时区?@wallyk,不幸的是没有输入错误。数据库中的时间是15:00。但当我请求时,我得到2020-01-31T14:00:00.000Z。如果我将其插入数据库,则插入时间为14:00@nbk,我可能在GMT+1区域。我住在法国。在那里你有你的小时,当你检索它时,你在js中添加时区。至少我是这么做的,或者你把你的专栏类型改成不使用tz的