因为项目需要,升级了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