Sequelize的原始查询的时区问题

在postgres数据库sequelize的raw query也是受时区影响的.
同样的语句,用sequelize直接执行某些跟时间相关的query和在数据库执行是不一样的.
语句如下:

update table_A set is_enable=1 where EXTRACT(hour from now())+(EXTRACT(MINUTE from now()))/60 >= start_t and  EXTRACT(hour from now())+(EXTRACT(MINUTE from now()))/60 < end_t;

解决很简单,在配置里加timezone:"+8:00"即可

  const client = new Sequelize(
        current_config.database,
        current_config.user,
        current_config.password,
        {
          dialect: "postgres",
          host: current_config.host,
          port: current_config.port,
          operatorsAliases: operatorsAliases,
          logging: true,
          timezone: "+08:00"
        }
      );

很奇怪,因为在sequelize的github上,2016年的作者回复说postgres没有此类问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值