Spring boot各种Date时间相差8小时出现的问题及其解决方法

一:Spring boot @ResponseBody转换JSON 时 Date 时间相差8小时

一描述:当使用jackson时,返回的json和数据库会相差8个小时,(亲测);

数据库和postman相差8个小时,debug后发现是jackson得问题。

二解决办法:

#application.yml文件配置
spring:
    jackson:
        time-zone: GMT+8

或者这样也可以解决,在你的时间上设置时间格式化。

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

参考来自:https://blog.csdn.net/CLG_CSDN/article/details/98180387

二:mysql从数据库查询的时间与实际时间相差8小时

一解决办法:

设置spring配置文件:

1、spring.datasource.url=jdbc:mysql://10.35.105.25:3306/database?characterEncoding=utf-8&serverTimezone=GMT%2B8

数据库配置后面加上&serverTimezone=GMT%2B8

2、spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

      spring.jackson.time-zone=GMT+8

#application.yml文件配置
spring:
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss

    第一步为设置数据库时间为东八区(北京)时间,保证debug时候从数据库查出时间一致。第二步为返回给前端的时间格式和时区设定,保证前端页面显示时间和数据库一致。

 

 

 

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值