8小时问题
现象
- 插入数据库的时间和前端传入不一致
- 数据库查询展示给前端的不一致
原因
- 数据库时区、软件环境时区、mysql-connector-java时区、@RequestBody和@ResponseBody设置的time-zone
解决办法
- 统一时区
- 数据库时区
show variables like '%time_zone%';
查询结果为表示东八区(也就是咱们用的)
'time_zone','+08:00'
- 软件环境时区
//linux
date -R
查询结果为表示东八区(也就是咱们用的)
Wed, 20 May 2020 21:50:23 +0800
- mysql-connector-java连接设置
spring:
#数据源
datasource:
#serverTimezone=Asia/Shanghai 设置东八区
url: jdbc:mysql://ip:端口/db?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai
- 如果采用json前后端交互
序列化和反序列化的时候设置日期的处理
spring:
jackson:
time-zone: GMT+8