从mysql获取格式正确的日期
我在nodejs应用程序中从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,
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的