Sequelize reads datetime in UTC only(Sequelize 仅以 UTC 格式读取日期时间)
问题描述
我已将 timezone 选项设置为我的时区(Europe/Zagreb 并且我也尝试使用 +02:00),并且时间会按原样保存,但是,当从数据库中读取时间时,Sequelize 会将其转换为 UTC.我也尝试过不同的时区,每个时区都正确保存,但从数据库读取时总是转换为 UTC.
I have set the timezone option to my timezone (Europe/Zagreb and I've tried with +02:00 too), and the time is saved as it should be, however, when reading the time from the database, Sequelize converts it to UTC. I have tried different timezones too, each is saved correctly, but always converted to UTC when read from database.
是我做错了什么还是这是一个已知问题,是否有任何解决方法?
Am I doing something wrong or is this a known issue and are there any workarounds?
我创建了一个新的连接:
I create a new connection with:
sequelize = new Sequelize(config.database, config.username, config.password, config);
我的配置看起来像这样:
and my configuration looks something like this:
"development": {
"username": "root",
"password": "root",
"database": "db",
"host": "localhost",
"dialect": "mysql",
"timezone": "Europe/Zagreb"
}
推荐答案
你可以试试这个代码,我遇到了同样的问题,这对我有用.
You can Try This code, I had the same problem and this worked for me.
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'
});
这篇关于Sequelize 仅以 UTC 格式读取日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Sequelize 仅以 UTC 格式读取日期时间
基础教程推荐
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 在多列上分布任意行 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- oracle区分大小写的原因? 2021-01-01
