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