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

在这里插入图片描述
数据库中存的是2019-07-22 22:00:00 但是页面展示2019-07-22 14:00:00
查看数据时区是+08:00导致的,数据库是Oracle,生成数据库没办法改时区

一: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;
}

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

一解决办法:
1、spring.datasource.url=jdbc:mysql://10.35.105.25:3306/database?characterEncoding=utf-8&serverTimezone=GMT%2B8
数据库配置后面加上&serverTimezone=GMT%2B8
2、设置spring配置文件

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

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

相关推荐

  1. docker容器内时区相差8小时问题

    2023-12-09 05:34:03       8 阅读
  2. MySQL查出时间比实际晚8小时解决方案

    2023-12-09 05:34:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 05:34:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 05:34:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 05:34:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 05:34:03       18 阅读

热门阅读

  1. http和https区别

    2023-12-09 05:34:03       37 阅读
  2. TCP通讯

    TCP通讯

    2023-12-09 05:34:03      32 阅读
  3. Golang优雅实现按比例切分流量

    2023-12-09 05:34:03       35 阅读
  4. 数据库基础概念与范式反范式总结

    2023-12-09 05:34:03       31 阅读
  5. C++基础

    C++基础

    2023-12-09 05:34:03      30 阅读
  6. 初识主力投资者

    2023-12-09 05:34:03       36 阅读