原因:默认情况下timeZone为GMT(即标准时区),而北京是在东八区,所以会造成差8小时。

方法:
1.可以修改注解为:

 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;//注册时间

2.如果可以的话可以修改MySQL的默认时区为东八区,可以参考这篇博客:关于Mysql 的时区问题

3.可以在yml配置文件里修改MySQL配置(我的环境:springcloud+MySQL),下面3中都可以

jdbc.url=jdbc:mysql://localhost:3306/demo?serverTimezone=UTC&characterEncoding=utf-8 
jdbc.url=jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&characterEncoding=utf-8 
jdbc.url=jdbc:mysql://localhost:3306/demo?serverTimezone=Asia/Shanghai&characterEncoding=utf-8 

可能还有其他方法,欢迎补充!

Logo

更多推荐