问题:实体类Date类型,数据库使用的datetime类型,插入和查询的时间存在时差。
- 设置数据库url
serverTimezone=GMT%2B8
- 配置yml
spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8
注:实体类无需配置@JsonFormat
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")private Date createdTime;
- 修改数据库时区
1.显示数据库的系统时区
show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | SYSTEM |
+------------------+--------+
- 配置时区
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 |
+------------------+--------+