遷移-Mongodb時間類數據比較的坑

背景:mongodb

攔截件監控時,對於簽收的數據須要比較簽收時間和實際同步數據的時間來判斷  同步時間是在簽收前仍是簽收後。在比較時,用到同步時間syncTime和signTime, signTime從Q9查單獲取,爲 local time,syncTime 在 mongodb 中查出,爲 UtcTime。api

 

問題app

在 utc time 和 local time 比較時,不會帶着時區比較,如圖url

致使監控數據比較時,判斷差了8h。大部分數據都是下發時間在簽收後的,可是被判斷成在簽收前, 發現該問題是經過跟着幾條同步時間在簽收前的單號進行逐條查單才發現。spa

 

解決:同步

在比較時,必定要都轉成 utc time 再進行比較。io

 

總結:
 
  1. 在這種時間比較時,必定要注意時區統一
      2. mongodb在存儲時,會將local time默認轉成 utc time 存儲
      3. mongodb在存儲時,會將utc time 直接存儲
      4. mongodb在取數據時,直接取出utc time
相關文章
相關標籤/搜索