LocalDateTime存入数据库后少了8小时

问题描述

由于LocalDateTime不带时区信息,在持久化到数据库时,可能会出现时间少了8小时的情况。

解决方案

  1. 检查数据库时区是不是CST或者GMT+8: show variables like '%time_zone%'
  2. 设置jdk的默认时区:-Duser.timezone=GMT+8
  3. 设置Jackson框架的时区:spring.jackson.timeZone=GMT+8,如果不方便修改全局时区配置,可以在对应的字段上面进行单独修改:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private LocalDateTime createdTime;

你可能感兴趣的:(#,Java问题,数据库)