gpt4 book ai didi

mysql - Sequelize 仅以 UTC 格式读取日期时间

转载 作者:行者123 更新时间:2023-11-29 03:55:50 28 4
gpt4 key购买 nike

我已将 timezone 选项设置为我的时区(Europe/Zagreb 并且我也尝试过使用 +02:00),并且时间按应有的方式保存,但是,当从数据库中读取时间时,Sequelize 会将其转换为 UTC。我也尝试过不同的时区,每个时区都正确保存,但从数据库读取时总是转换为 UTC。

我是不是做错了什么,或者这是一个已知问题,是否有任何解决方法?

我创建了一个新连接:

sequelize = new Sequelize(config.database, config.username, config.password, config);

我的配置看起来像这样:

"development": {
"username": "root",
"password": "root",
"database": "db",
"host": "localhost",
"dialect": "mysql",
"timezone": "Europe/Zagreb"
}

最佳答案

你可以试试这段代码,我遇到了同样的问题,这对我有用。

const sequelize = new Sequelize(mysql.database, mysql.user, mysql.password, {
host: mysql.host,
port:3306,
dialect:'mysql',
define: {
underscored: true,
freezeTableName: true, //use singular table name
timestamps: false, // I do not want timestamp fields by default
},
dialectOptions: {
useUTC: false, //for reading from database
dateStrings: true,
typeCast: function (field, next) { // for reading from database
if (field.type === 'DATETIME') {
return field.string()
}
return next()
},
},
timezone: '+01:00'
});

关于mysql - Sequelize 仅以 UTC 格式读取日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47367893/

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