千家信息网

怎么解决java获取时间相差8小时的问题

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下怎么解决java获取时间相差8小时的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!三种时间差错问题:
千家信息网最后更新 2026年11月02日怎么解决java获取时间相差8小时的问题

小编给大家分享一下怎么解决java获取时间相差8小时的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

三种时间差错问题:

  • java下使用new date()获取的时间会和真实的本地时间相差8小时。

  • 本地获取的时间没有错,存入数据库的时候时间相差8小时。

  • 数据库时间没有错,获取到了后端,之后返回给前端相差8小时。

原因:

  • new date()调用的是jvm时间,而jvm使用的时间默认是0时区的时间,即:和北京时间将会相差8小时。

  • mybatis将本地的数据传入到mysql数据库服务器的时候,服务器会对数据进行检测,会把date类型的数据自动转换为mysql服务器所对应的时区,即0时区,所以会相差8小时。

  • springboot中对加了@RestController或者@Controller+@ResponseBody注解的方法的返回值默认是Json格式,

  • 所以,对date类型的数据,在返回浏览器端时,会被springboot默认的Jackson框架转换,而Jackson框架默认的时区GMT(相对于中国是少了8小时)。所以最终返回到前端结果是相差8小时

解决方案:

手动设置jvm时间:将时间改为第8时区的时间:

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));

温馨提示:如果是springboot项目,可以面向切面加上这个,或者启动main类上加上如下代码:

@PostConstruct    void started() {        TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));    }

注意:不要用下面方式,这个方式是错的,GMT-8最后获取的时区还是0时区的。网上很多的教程说的是下面的方式,亲测不行。

TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");TimeZone.setDefault(tz);

在apprication.yml文件中配置一下数据库连接信息,url加上这么一句:
&serverTimezone=GMT%2b8


可以解决存入数据库的时间肯定是对的,本地获取的时间则未必是北京时间。将spring的json构造器的时区改正即可,在application.yml文件中添加:


或者可以使用注解,在entity实体类的date数据上添加注解,那么数据库传回的data数据要转换为json格式的时候就是北京时间了,再次传回到前端的时候,也不会出现时区问题。

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

不过,指的注意的是:这样做,如果你的jvm时间依然是后台0时区的,那么后台要用时间执行逻辑的时候,就要注意了,时间依然相差8小时,还是建议用第一方法,直接整个jvm改为北京的8时区。

以上是"怎么解决java获取时间相差8小时的问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

时间 数据 时区 小时 数据库 时候 问题 北京 前端 方式 服务器 注解 篇文章 服务 内容 后台 文件 方法 格式 框架 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 今日互联网科技 互联网和科技创新 疫情对互联网科技公司影响 远信互联网科技 广州互联网络科技有限公司 成都狮子座互联网科技 互联网 科技服务平台 互联网科技公司的市场部门 博兴的互联网电子科技公司 宁波青枫互联网科技有限公司 创业天下互联网科技有限公司 欧洲十大科技互联网公司 花神(南京)互联网科技有限公司 天津腾达互联网科技有限公司 迪庆互联网科技招生 长沙互联网科技 中科明德北京互联网科技 深圳互联网科技的发展 小牛互联网科技有限公司地址 金融科技与互联网金融 互联网科技公司官网 汉立互联网科技有限公司联系电话 互联网科技热点资讯 燊美集互联网科技有限公司 上海京穆互联网科技有限公司 广东工业互联网大赛深圳学泰科技 易企秀互联网科技是做什么的 广东鹅鹅鹅互联网科技有限公司 互联网科技自媒体灵感
0