【发布时间】:2021-02-11 01:26:50
【问题描述】:
我需要根据数据库时区(不是我的本地时区,也不是默认的 UTC 时区)使用 Sequelize 获取当前时间。有没有 Sequelize 方法可以做到这一点?
我的数据库是东部时间,当我直接查询数据库SELECT CURRENT_TIMESTAMP; 时,它会返回东部时间的日期/时间(这是正确的)。
但是当我通过节点const [[{time}]] = await db.sequelize.query('SELECT CURRENT_TIMESTAMP AS time'); 中的 Sequelize 进行查询时,它会返回 UTC 格式的日期/时间。
两个问题:
1 - 我更喜欢使用 Sequelize 方法而不是原始查询。
2 - 这仍然没有得到我想要的结果。时间必须是东方。
这是我的数据库设置:
const sequelize = new Sequelize(dbUrl, {
dialectOptions: {
useUTC: false // for reading from database
},
timezone: '-04:00', // for writing to database
define: {
charset: 'utf8'
}
})
如上所述,当我使用上述查询进行查询时,日期总是以 UTC 格式返回,这是我没想到的,因为我说的是useUTC: false。如何获取东部时间(数据库时区)?
【问题讨论】:
标签: javascript mysql sql node.js sequelize.js