环境: jdk1.6 , WIN7/8
问题: 当你在WIN7 OS 选择instanbul 或者其他一些时区, 然后用java(1.6)获取当前时区,会发现java获取时区跟WIN7 OS设定的时区不一致。
最简单的方式是升级SDK到对应的版本(最新版一般会解决这种问题。)
不过我们公司要求不要升级SDK . 因此对于SDK1,6 截至2015年10月, google 和 baidu 都没有提供很好的解决方案。
上周我在无意间发现tzmappings (../jre/lib/目录下) ,是时区的配置文件, 所以这里提供一个解决方案, SDK保持不变,只要更新tzmapings文件到相应版本即可。
目前没有发现副作用, 以后如果发现我会及时更新,也请发现问题的网友及时提醒一下。