Mysql datetime 在 Javascript 中不同



我今天在这里发帖,因为我在使用Javascript在mysql中存储Datetime时遇到了问题。我存储的日期时间,我可以在Phpmyadmin中看到与我通过查询获得的日期时间不同(选择)

我认为这是一个与时区相关的问题,但我不知道如何解决这个问题。我试图在 UTC 中节省时间

UTC_TIMESTAMP()

但我仍然没有得到正确的日期时间。

我存储日期时间:

connection.query("UPDATE `users` SET `last_disconnect` = now() WHERE `users`.`uuid` = ?", [userId])

(我试图创建一个新的Javascript日期并存储它,但它是一样的)

这是存储的日期时间(我可以在Phpmyadmin中看到的日期时间):

2019-06-04 21:19:39

这是我的查询:

connection.query("SELECT last_disconnect FROM users WHERE uuid=?", [userId])

这是我通过查询得到的:

2019-06-04T20:19:39.000Z

这是我用这个创建新日期时得到的:

console.log(new Date(dateFromRequest))

->

Tue Jun 04 2019 22:19:39 GMT+0200 (heure d’été d’Europe centrale)

我想在Javascript中获取的日期时间是存储在Mysql中的日期时间:

2019-06-04 21:19:39

我的时区是GMT +2

当我在Mysql中检查日期时间时,它显示时区+0200

有人知道我正在做的事情有什么问题吗?

提前谢谢你!

mysqljs - 连接选项#日期字符串

执行不带日期字符串查询

connection.query('SELECT * FROM user', function (error, results, fields) {
if (error) throw error;
console.log(results[0].registerDate)
});

输出

_> node index.js
2018-06-04T20:13:17.000Z

执行相同的查询,但使用日期字符串

const connection = mysql.createConnection({
user: 'root',
password: '1234',
database: 'test',
dateStrings: true // yo, im here
});

输出

_> node index.js
2018-06-04 23:13:17

简单示例

connection.query('SELECT * FROM user', function (error, results, fields) {
if (error) throw error;
results.map(x => {
const date = new Date(x.registerDate);
console.log(date.getFullYear())
})
});

输出

_> node index.js
2018

最新更新