問題定位方向錯了,期初一直懷疑shardingsphere有問題。最後才發現是時區問題造成的。
本地通過n**icat執行正常,上了測試環境發現當前資料查詢有問題。
最後發現jdbc執行的時候時間提前了12小時(通過jdbc執行 select now() from dual 獲取)
解決方案:
1、 在配置檔案加上:spring.jackson.time-zone=gmt+8 (或者欄位上
@jsonformat(pattern = "yyyy-mm-dd hh:mm:ss", timezone = "gmt+8"))
2、在連線資料處加上:&servertimezone=gmt%2b8
Mysql有8小時時差問題
spring.datasource.url jdbc mysql 把 servertimezone gmt去掉,gmt也有可能是其他時區 set global time zone 8 00 flush privileges show variables like time zone 設定成東八區時間...
mysql 8小時時差
一 mysql uroot p 登陸 1.set global time zone 8 00 全域性 2.set time zone 8 00 當前會話 2.flush privileges 生效 二 my.cnf locate my.cnf mysql help grep my.cnf mysql...
Android系統時間24小時制12小時制
在使用 dateformat時格式化時間的 yyyy.mm.dd 為年月日而如果希望格式化時間為12小時制的,則使用 hh mm ss 如果希望格式化時間為24小時制的,則使用 hh mm ss 如下 date d new date dateformat ss new dateformat yyyy...