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


springboot 时间戳和 数据库时间相差12~13个小时

上一篇:Jmeter 样例 之 JDBC请求-操作MySql数据库


下一篇:python使用 db.select 返回的数据只能遍历一次