我是PostgreSQL的新手,并首次将其与nodejs中的semelize package一起使用。
我的本地时区:ist( 05:30)
续集时区:UTC( 00:00)
模型
SomeModel = psql.define('SomeModel', {
month: {
type: Sequelize.DATE,
field: 'month'
},
uploadedDate: {
type: Sequelize.DATE,
field: 'uploaded_date'
},
name: {
type: Sequelize.STRING,
field: 'name'
}
}, {
tableName: 'some_table'
});
输入数据
月:'dec-2017'
uploadeddate:'11 -dec-2017'
保存数据
月:'2017-11-30'
uploadeddate:'2017-12-10 02:00:00'
我了解UTC转换的月份转换将其发送给5小时30分钟,因此又一次又一次,但是遵循此上传载体应为'2017-12-10 18:30:00'。为什么PostGressQl将其提高到02:00,在02:00发生了什么?
现在,当我尝试获取相同的行值再次更改时,我不理解的又一奇怪的事情。
输出值
月:'2017-11-30'
uploadeddate:'2017-12-09T20:30:00.000Z'
现在,为什么它再次将时间转换为UTC,只是为了增加我的问题。
请帮助我缺少的内容以及如何解决此问题。
搜索几天后,我通过执行跟随并理解整个方案进行了更正。
- 专栏不是存储时区(但在我的情况下是不需要的)
- 查询已被解雇4次,这使日期到凌晨2点,即
5:30*4=22
,这是有道理的 - 节点正在将服务器的局部计时区域带到每次查询火灾时将其转换为UTC。
解决方案是将我的服务器的时区转换为UTC,一切都像魅力一样工作,没有任何修改。