zoukankan      html  css  js  c++  java
  • 迁移-Mongodb时间类数据比较的坑

    背景:

    拦截件监控时,对于签收的数据需要比较签收时间和实际同步数据的时间来判断  同步时间是在签收前还是签收后。在比较时,用到同步时间syncTime和signTime, signTime从Q9查单获取,为 local time,syncTime 在 mongodb 中查出,为 UtcTime。

    问题

    在 utc time 和 local time 比较时,不会带着时区比较,如图

    导致监控数据比较时,判断差了8h。大部分数据都是下发时间在签收后的,但是被判断成在签收前, 发现该问题是通过跟着几条同步时间在签收前的单号进行逐条查单才发现。

    解决:

    在比较时,一定要都转成 utc time 再进行比较。

    总结:
     
    1. 在这种时间比较时,一定要注意时区统一
          2. mongodb在存储时,会将local time默认转成 utc time 存储
          3. mongodb在存储时,会将utc time 直接存储
          4. mongodb在取数据时,直接取出utc time
  • 相关阅读:
    教你如何自定义组件
    android应用开发小技巧
    改变Vim在iTerm2中的光标
    Mac添加bash alias
    tmux常用命令
    javascript Date 总结
    ES6箭头函数
    npm常用命令
    ES6 import export
    gitingore
  • 原文地址:https://www.cnblogs.com/sylvialucy/p/9870449.html
Copyright © 2011-2022 走看看