openjdk 1.7.0.121中夏令时问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/looyo/article/details/90017989

【现象】
openjdk 1.7.0.121 ,时区:基辅,操作系统:centos 7
时区信息如下

# timedatectl
      Local time: 二 2019-04-02 18:30:40 EEST
  Universal time: 二 2019-04-02 15:30:40 UTC
        RTC time: 二 2019-04-02 15:30:40
       Time zone: Europe/Kiev (EEST, +0300)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  日 2019-03-31 02:59:59 EET
                  日 2019-03-31 04:00:00 EEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  日 2019-10-27 03:59:59 EEST
                  日 2019-10-27 03:00:00 EET

但是用simpleDateFormat 对2019-3-31:3.00.00 之后的time(毫秒数)进行格式化后,没有显示夏令时,而是比夏令时慢了1小时。

更新openjdk 1.7.0.121 到 1.7.0.191 之后解决问题,具体哪个版本开始解决了这个问题还不清楚。

如果不能更新openjdk版本还可以通过以下链接介绍的方法升级时区信息。

https://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html
https://stackoverflow.com/questions/29101788/how-do-i-update-the-timezone-information-for-the-openjdk
时区更新的开源工具
https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/

猜你喜欢

转载自blog.csdn.net/looyo/article/details/90017989