MySQL页面上时间展示与数据库中时间相差8个小时


尝试一下几种方法:

方法一:

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

方法二:

url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai

修改:
把serverTimezone=UTC改为serverTimezone=Asia/Shanghai
UTC为世界统一时间,可以选择东8区的Hongkong、Asia/Shanghai或者Asia/Hongkong作为参数

原网址 SpringBoot返回date日期格式化,解决返回为TIMESTAMP时间戳格式或8小时时间差
在其他方案没有解决的情况下,包括spring boot项目使用@JsonFormat无效问题

方法三:

@JSONField(format = "yyyy-MM-dd HH:mm:ss")  //FastJson包使用注解
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") //Jackson包使用注解
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")   //格式化前台日期参数注解
    private Date createTime;

解决方案:在application.properties配置文件增加以下配置:

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

第一行指定date输出格式为yyyy-MM-dd HH:mm:ss;
第二行指定时区,解决8小时的时间差问题。


文章作者: nzgl
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 nzgl !
评论
  目录