| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 如何解决通过new Date()获取时间写出数据库与当前时间相差8小时问题【亲测有效】 -> 正文阅读 |
|
[大数据]如何解决通过new Date()获取时间写出数据库与当前时间相差8小时问题【亲测有效】 |
一、前文🔥
二、环境说明🔥
三、问题描述🔥? ? ? ? 发现一个有意思的东西,不知道你们平时有没有注意到啊,就是你通过new Date()来获取当前系统时间,可写入数据库后时间会比当前时间少了八小时,整整8小时!那么针对该问题,我们有何办法让它精准获取北京时间呢? ? ? ? ? 很多小伙伴可能就会说了,直接将获取到该时间的基础上再加8小时不就好了,这是没问题,也可以!那么还有更简便优雅的方式么? ? ? ? ? 今天我们就来聊一聊它,看看我推荐的方案是不是比大多数小伙伴说的方式更为优雅?使用起来是不是更便捷? ? ? ? ? 那好,那么小伙伴们,接着往下看~ 四、问题分析🔥? ? ? ? 那来思考一个问题,为何本地获取的时间没有错,而存入数据库的时候时间却少8小时?其实这个问题,就跟mysql数据库有关系了。 ?? ? ? ? 你使用mybatis将本地的数据传入到mysql数据库接收的时候,数据库会对数据进行检测,会把date类型的数据自动转换为mysql所对应的时区,即0时区,所以date时间会自动减去8小时。 ? ? ? ? 那么针对该问题,你有何方案呢? 五、解决方案🔥? ? ? ? 如下呢,我提供两种解决相差8小时的解决方案,亲测有效。仅供参考,不喜勿喷。 1??方案一? ? ? ? 从数据库方面入手,既然是由于数据库机制,那么我们可以在数据库连接时指定时区参数serverTimezone,将它设置从[UTC]改为[GMT%2B8],即可。
具体添加如下演示: application-test.yaml ?2??方案二? ? ? ? 从获取到时间后进行解析校验,那方式就很多,你可以手动,也可以使用注解@JsonFormat,在你的entity实体类的Date字段上添加该注解,那么数据库传回的data数据就会当你转为json格式的时候就会自动转为北京时间了,这也就避免了时区差问题,前端使用也就无需再处理了,是不是很方便呐。 具体添加演示如下:
????????要是还有同学不知道alibaba开源的json处理器,真推荐用起来,封装了很多日常使用到的序列号反序列化方法类。真的超级方便好用。 直接在你的pom.xml中添加如下依赖即可:
? ? ? ? 如上就是我所推荐使用的两种方案,你们更倾向那种解决方案呀?或者有更好的解决方案,记得要下发评论区告知于我和我的那群小伙伴哟,独乐乐不如众乐乐。 ?... ... ? ? ? ? 好啦,以上就是解决时间相差8小时问题的所有解决方案内容啦,你们学废了么?如果对你有所帮助,还请不要忘记给bug菌[三连支持]哟。如果想获得更多的学习资源或者想和更多的技术爱好者一起交流,可以关注我的公众号『猿圈奇妙屋』,后台回复关键词领取学习资料、大厂面经、面试模板等海量资源,就等你来拿。 六、文末🔥????????如果你还想要学习更多,小伙伴们大可关注bug菌专门为你们创建的专栏《bug调优》,都是我一手打下的江山,持续更新中,希望能帮助到更多小伙伴们。 ? ? ? ?我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 最后送大家两句话,与诸君共勉! ??做你想做的人,没有时间限制,只要愿意,什么时候都可以开始。 🍀你能从现在开始改变,也可以一成不变;这件事,没有规矩可言,你可以活出最精彩的自己。 ???
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/16 3:45:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |