土耳其的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 -version

java 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

回到顶部