本文為博主原創,未經允許不得轉載:
今天碰到一個問題,發現項目中有一個統計圖的數據和時間格式沒有對應准確,統計圖要描述的是操作次數和操作時間的關系,
但很奇怪的是操作次數對應的時間卻是凌晨,實際應用中操作次數對應的時間都是白天時間,所以就出現了時間對應的異常。
仔細檢查代碼,發現代碼的邏輯和實現並沒有問題,經過逐字的推敲,發現在進行數據庫查詢時,傳入的時間格式化的時間格式
為
map.put("dateType", "%Y-%m-%d %h");
在數據庫查詢的時候,運用了MySQL時間格式化函數:
DATE_FORMAT(createTime,#{dateType})
由於數據庫保存時間格式是用了24小時制,所以在這邊統計的時候就統計成了12小時制,導致時間產生了偏差。將查詢的時間格式化
改為H的時候,統計圖中的數據就顯示正常了。
在此銘記,由於很小的問題帶來的bug。掌握一定要仔細和用心。