土耳其的Java时区(拒绝夏令时)
土耳其最近(2016年9月6日)决定永久停留在夏令时(DST)。该法案取消了原定于2016年10月30日04:00:00的DST结束。时钟没有改变。
土耳其介于之间+2 and +3 utc
,因此现在将保持在+3。在这里你可以看到
https://www.timeanddate.com/time/change/turkey/ankara?year=2016
…以及Wikipedia页面 中的“土耳其时间”
和这篇《赫里耶特每日新闻》文章, 土耳其全年实施夏令时 。
他们在这里讨论,但是我在Spring Boot中有一个应用程序。
cmntWrapper.setCreatedAtString(cmnt.getCreatedAt().now(ZoneId.of(Constants.TURKEY_ZONE)).
format(DateTimeFormatter.ofPattern(Constants.DATE_TIME_FORMAT)));
这就是我约会的方式。
13.50
现在显示的是小时,但现在是14.50
。因为我们在+3。
我能做什么?
我不想使用utc +3,因为他们可以在明年说,“让我们再次使用+ 2- + 3切换到夏令时概念”。所以我不能冒险。
我无法在未来几周内更改代码,它将在几周后保持永久不变。
您对永久性有何建议?
还有我怎么做Java?因为对于我的测试linux机器,请参阅此
puapp @ PU-APP-01:〜$ Java版本程序’java’可以在以下软件包中找到:* default-jre * gcj-4.8-jre-
headless * openjdk-7-jre-headless * gcj-4.6- jre-headless * openjdk-6-jre-
headless尝试:sudo apt-get install puapp @ PU-APP-01:〜$
puapp @ PU-APP-01:〜$ whereis java java:/ usr / share / java puapp @ PU-
APP-01:〜$
puapp @ PU-APP-01:〜$ whereis java java:/ usr / share / java
但是在本地我有java。
vegan @ vegan:〜$ java -version Java版本“ 1.8.0_111”
Java(TM)SE运行时环境(内部版本1.8.0_111-b14)Java
HotSpot(TM)64位服务器VM(内部版本25.111-b14,混合模式)素食主义者@素食主义者:〜$
但是本地化并不重要。那个Linux服务器非常重要。
对于我们的主机,有java
produp@Produp-app-01:~$ java -versionjava version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
produp@Produp-app-01:~$
回答:
首选的方法是更新JDK / JRE(如果其中包括新的时区信息)。如果未包括在内,那么正确且正式的方法应该是使用“
时区更新程序工具”更新时区信息。
提供TZUpdater工具可让您使用最新的时区数据来更新已安装的Java开发工具包(JDK)和Java运行时环境(JRE)软件,以适应不同国家/地区的夏令时(DST)更改。Oracle依靠可通过IANA时区数据库公开获得的时区数据。
Oracle建议您使用最新的Oracle Java
SE平台JDK或JRE更新版本作为传递时区数据更新和其他产品改进(例如安全修补程序)的首选方法。要查看哪个JDK或JRE更新版本结合了您所在区域的更新时区数据,请参阅JRE软件中的时区数据版本。但是,如果您无法使用Oracle的最新JDK或JRE更新版本,或者最新版本中的时区数据不是最新的,则TZUpdater工具提供了一种更新时区数据的方法,而其他系统配置和相关性保持不变。
它可以在Java
SE官方下载站点(“
其他资源”下 )中下载。
关于你的具体情况的信息可以发现这里(在这里你还可以看到的信息是不可用的JRE版本):
土耳其从EET / EEST(+ 02 / + 03)改为永久+03,自2016-09-07起生效。根据IERS公告C
52,新的leap秒2016-12-31 23:59:60 UTC。
双重说明了如何使用该工具:
TZUpdater工具修改用于执行该工具的JDK / JRE软件实例。每次执行都会修改JDK / JRE软件的单个映像。要将工具管理到JDK /
JRE软件的多个实例,请参阅“系统范围的使用”一节。
例如,以下命令将使用最新信息更新JRE,其中应包含土耳其夏令时的更改。
java -jar tzupdater.jar -l http://www.iana.org/time-
zones/repository/tzdata-latest.tar.gz
请注意,自2016g版本以来,当前存在一个已知问题:
由于IANA维护的tzdata数据包中格式的更改,因此在解析tzdata2016.tar.gz资源包时,TZUpdater工具无法确定tzdata版本。
请遵循以下链接中的步骤,以便能够使用IANA的最新tzdata捆绑包。解决此问题后,答案的这一部分将被删除。
以上是 土耳其的Java时区(拒绝夏令时) 的全部内容, 来源链接: utcz.com/qa/421601.html