gpt4 book ai didi

javascript - Javascript 中的 Mysql 日期时间不同

转载 作者:行者123 更新时间:2023-11-29 05:49:00 24 4
gpt4 key购买 nike

我今天在这里发帖是因为我遇到了使用 Javascript 在 mysql 中存储日期时间的问题。我存储的日期时间和我在 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 options#dateStrings

在没有 dateStrings

的情况下执行 query
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

执行相同的查询但使用dateStrings

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

关于javascript - Javascript 中的 Mysql 日期时间不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56450231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com