springboot 時間戳和 數據庫時間相差12~13個小時


因為項目需要,升級了springboot、mysql的相關版本,導致訂單支付成功時間與實際時間晚12~13小時,以下是有關場景的參考答案,請依據不同場景使用不同的方法,謝謝。

1.  jvm 系統時區設置,在 application.yml 配置文件中

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

2.  在請求參數中,使用 JsonFormat 配置解析規則(請求時導致請求時間與服務保存時間有差的情況)

import com.fasterxml.jackson.annotation.JsonFormat;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date birthday;

3.  在數據庫連接中設置時間的解析時區,該方法不需要 mysql 服務器設置時區然后重啟了

jdbc:mysql://localhost:3306/table_name?useUnicode=true&characterEncoding=UTF-8&useSSL=false&useTimezone=true&serverTimezone=GMT%2B8

4.  數據庫查看時區命令

show variables like '%time_zone%';

個人場景中,使用的是以上方法的第三點,親測OK。
感謝,參考鏈接:https://www.cnblogs.com/zhaopengcheng/p/12124973.html
 
        
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM