数据库表的字段时间:
情况一:
web查询结果:
解决方法:在实体类对应字段上添加 :@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
查询结果正确:
情况二:
web查询结果:
显示差6分钟,也不是时区问题(时区问题时差整8个小时),经排查,发现是JsonFormat时间格式大小写不对。
分钟和毫秒数的字母应该小写才对,大写的MM指的是月份,当前是4月所以是04,SS是毫秒数,当前是00。
改为小写:
查询结果正确:
情况三:
web查询结果:
差整8个小时,是常见的时区问题。
时区问题修改步骤:
1,修改MySql的配置文件 /etc/my.cnf ,在 [mysqld] 下面添加 default-time-zone = '+08:00' ,并重启mysql服务,sudo service mysqld restart,如下图:
2,SpringBoot的配置文件mysql连接URL后缀加上“serverTimezone=UTC”,完整连接如下:
url: jdbc:mysql://100.100.100.100:3306/mydb?serverTimezone=UTC
web查询结果: