数据库中存储的时间和我查库数据返给值的时间不一致,例如差差八个小时,差12个小时等等。
问题解决
1.看一下数据库时区
show variables like ‘%time_zone%’;

2、本地的jdbc连接
# 示例,这里我是 GMT
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
3、是否有jackson依赖、是否有@JsonFormat之类注解在属性上、是否存在全局配置如spring.jackson.time-zone=GMT+8。
比对处理
jackson 全局配置同jdbc配置不一致
如果 spring.jackson.time-zone=GMT+8 、 serverTimezone=GMT 那么,最终返回结果会差8个小时。
jdbc 没有配置 serverTImezone
如果数据库时区为CST,则返回结果少8个小时。
最终解决
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai
在application.yml添加
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8