因為項目需要,升級了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