注册
Java-时区(夏时令)比数据库时间慢一小时问题
技术分享/ 文章详情 /

Java-时区(夏时令)比数据库时间慢一小时问题

醉酒方知浓 2024/03/01 817 0 0

夏时令介绍:

每年从四月中旬第一个星期日的凌晨2时整(北京时间),将时钟拨快一小时,即将表针由2时拨至3时,夏令时开始;到九月中旬第一个星期日的凌晨2时整(北京夏令时),再将时钟拨回一小时,即将表针由2时拨至1时,夏令时结束。从1986年到1991年的六个年度,除1986年因是实行夏时制的第一年,从5月4日开始到9月14日结束外,其它年份均按规定的时段施行。

问题:

d7efb5d51dc4a624a8fc37ef41ff12a.png

0fbc83882f1cf067863d0f998e284d1.png

数据库显示是正常事时间,从JAVA查询出来时间会少一小时。

解决方法

1、先把时区设成GMT,把 根据夏时制自动调节时钟 的选项去掉。

再把时区改回来。

2、在取日期之前,加入如下代码:
TimeZone.setDefault(TimeZone.getTimeZone("GMT+08"));

3、如果涉及的地方比较多,方法二改动起来就比较麻烦。
还有个更简单的:在JVM启动的时候,加入参数 -Duser.timezone=GMT+08

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服