当前位置: 首页 > 面试题库 >

土耳其的Java时区(拒绝夏令时)

翁心思
2023-03-14
问题内容

土耳其最近(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捆绑包。解决此问题后,答案的这一部分将被删除。



 类似资料:
  • 土耳其政府于2015年9月29日宣布,土耳其将于2015年3月29日至2015年11月8日进入夏令时 但似乎是错误的时区(协调世界时02:00)伊斯坦布尔 2015年 夏令时于2015年3月29日凌晨2:00开始< br >夏令时于2015年10月25日凌晨3:00结束 微软何时发布热修复补丁?

  • 问题内容: 我没有找到有关如何在 Windows 上处理此问题的良好说明,因此我在这里进行了介绍。 土耳其语()和()中有两个字母,它们是python错误处理的。 鉴于区域设置正确,应该如何: 和 我尝试甚至没有帮助。 如何让python正确处理这两个字母? 问题答案: 您应该使用PyICU

  • 问题内容: 我想知道用Java最简单的方法来获取将来的夏令时将改变的日期列表。 一种相当灵活的方法是简单地迭代一整年的时间,然后对它们进行TimeZone.inDaylightTime()测试。这将起作用,并且我不担心效率,因为这仅在我的应用每次启动时都需要运行,但是我想知道是否有更简单的方法。 如果您想知道为什么要这样做,那是因为我有一个javascript应用程序,该应用程序需要处理包含UTC

  • 有没有一个时区,我可以使用,以考虑到夏令时?我知道'EDT'是指夏令时,而'EST'不是。是否有一个时区我可以使用,将自动检测日期时间是否是夏令时?“ET”或“America/New_York”能行吗? 编辑:: 抱歉应该更清楚。我想取一个日期并将其转换为东部时区,但我希望它考虑到东部时区的日期是否为夏令时。

  • 轻触方格启用设定,即可将夏令时反映于时间显示中。

  • 有没有办法根据土耳其语改变R中的字符编码系统? 我试图在将R脚本保存为iso-8859-9、windows-1254或latin5时更改编码。最后的编码给了我最好的结果,但是当我重新加载R脚本时,并不是所有的字符都被正确保存。例如: 原件: 重新加载(第二个示例中的字符已刷新): 有人有主意吗?提前谢谢!