有偿问答
面经分享
技术探讨
资料领取
登录
时间插入 MySQL 数据库,结果竟然少了 8 小时!
社长
1年前
⋅ 626 阅读
> 来源:my.oschina.net/u/1034046/blog/862649 最近在用mybatis时发现,将LocalDateTime插入到数据库时时间少了8小时。用网上其他方法试了不少,比如修改mysql时区,都不能解决。最后发现是JDBC连接的参数写错了。经常在网上看到jdbc连接里边有这样一个参数&serverTimezone=UTC。 这个UTC是协调世界时,我们中国在东八区,也就是UTC+8,和UTC差了8个小时。这就是为什么时间插入数据库后少了8小时的原因。那么中国的时区是多少呢?在java.time.ZoneId这个类的帮助文档和源码里写有: * EST - -05:00 * HST - -10:00 * MST - -07:00 * ACT - Australia/Darwin * AET - Australia/Sydney * AGT - America/Argentina/Buenos_Aires * ART - Africa/Cairo * AST - America/Anchorage * BET - America/Sao_Paulo * BST - Asia/Dhaka * CAT - Africa/Harare * CNT - America/St_Johns * CST - America/Chicago * CTT - Asia/Shanghai * EAT - Africa/Addis_Ababa * ECT - Europe/Paris * IET - America/Indiana/Indianapolis * IST - Asia/Kolkata * JST - Asia/Tokyo * MIT - Pacific/Apia * NET - Asia/Yerevan * NST - Pacific/Auckland * PLT - Asia/Karachi * PNT - America/Phoenix * PRT - America/Puerto_Rico * PST - America/Los_Angeles * SST - Pacific/Guadalcanal * VST - Asia/Ho_Chi_Minh 可以看到CTT - Asia/Shanghai,所以我们在jdbc的连接里使用&serverTimezone=CTT就可以正确的插入时间了。比较简单的一个问题,有多少胖友碰到过呀?
阅读全部
全部评论:
0
条
我有话说:
@
发送
-- 目录 --
关注官方公众号:
Java问答社
接收最新有赏问答推送!
最新发布
1.
SpringBoot 接口数据加解密技巧,so easy!
2.
一个依赖搞定 Spring Boot 反爬虫,防止接口盗刷!
3.
Java8 Stream 极大简化了代码,它是如何实现的?
4.
马上大四了,秋招还是春招好?先找工作还是找实习?
5.
万字详解 Linux 常用指令(值得收藏)
6.
4年工作经验,多线程间的5种通信方式都说不出来,你敢信?
最新评论
部署文档没有了,您能提供下吗
部署文档没有了,能提供下吗
我测你的🐎
源码从哪里获取请问
想学
那篇石墨文档 没有权限查看哇