查询日期或者插入日期比当前时间少8个小时,如果遇到这类情况,可以参考如下解决方式:
1、查看mysql所在服务器的时区是否为东八区,参考 【Linux】Centos7修改系统时区timezone
2、查看jdbc连接,连接的时候加入时区的设置如下:
jdbc:mysql://192.168.21.27/sell?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2b8
3、如果数据库存入时间正常,取数据的时候,采用的是Jackson进行json的解析和序列化,将java数据转换为json或者xml或者反向转换,这个时候,需要对日期进行格式化,如下:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateTime;
也可以进行Jackson的全局配置,在配置文件中对jackson的时区进行配置,如下:
jackson:
time-zone: GMT+8