springboot设置时区

问题:实体类Date类型,数据库使用的datetime类型,插入和查询的时间存在时差。

  1. 设置数据库url
serverTimezone=GMT%2B8
  1. 配置yml
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

注:实体类无需配置@JsonFormat

 //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")
 private Date createdTime;
  1. 修改数据库时区
    1.显示数据库的系统时区
show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+------------------+--------+
  1. 配置时区
mysql -u root -p

> set time_zone = '+8:00';  # 修改当前会话失时区
> set global time_zone = '+8:00';  # 修改全局的时区配置
> flush privileges;
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | +08:00 |
+------------------+--------+

你可能感兴趣的:(Mysql,spring,boot,后端,java,数据库)