gpt4 book ai didi

node.js - Sequelize.js 中的 UTC 日期

转载 作者:搜寻专家 更新时间:2023-10-31 22:19:06 25 4
gpt4 key购买 nike

我在 node.js 中使用 Sequelize 来保存打开和关闭时间。我也在使用 moment.js 进行格式化。更改 FindOrCreate 我正在这样做:

result.open = moment(hours.open, "hh:mma").format("YYYY-MM-DD HH:mm:ss");
result.save()
...

这工作正常,时间被格式化为 MySQL 的日期时间格式。问题是当我检索时间时,Seqquelize 认为它是 UTC 时间并将其转换为 EST(我的服务器时区)。

我希望它以 UTC 时间进入数据库并以相同的方式输出。我做错了什么吗?为什么 Sequelize 在插入时不将其转换为 UTC,而是假设它是 UTC 输出?另外,有没有办法让它不尝试转换为我的服务器时区?

最佳答案

我遇到了同样的问题。我已经这样修好了:

config/sequelize.js:

const sequelize = new Sequelize(database, user, password, {
host,
dialect: 'mysql',
port,
operatorsAliases,
dialectOptions: {
useUTC: true, // -->Add this line. for reading from database
},
timezone: '+02:00', // -->Add this line. for writing to database
pool: {
max: 10,
min: 0,
idle: 10000,
},
logging: console.log,
// define: {},
})

momentJS(UTC):

const ACCEPT_FORMAT = 'YYYY-MM-DD hh:mm:ss'
const { start_date, end_date } = req.params
const start = moment.utc(start_date, ACCEPT_FORMAT)
const end = moment.utc(end_date, ACCEPT_FORMAT)
console.log(start)
console.log(end)

希望它能帮助某人.... :)

关于node.js - Sequelize.js 中的 UTC 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17976459/

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