Java 错误:MSK 中的时间不正确

Posted

技术标签:

【中文标题】Java 错误:MSK 中的时间不正确【英文标题】:Java bug: incorrect time in MSK 【发布时间】:2015-08-03 07:57:08 【问题描述】:

我发现 Java 在 MSK 时区给出了错误的时间,忽略了操作系统数据:

如您所见,Java 时间提前了一个小时。

代码如下:

package tests;

import java.util.Date;

public class Try_CurrentTime 

    public static void main(String[] args) 

        System.out.println(new Date());

    

java版本是1.8.0_25

我们没有夏令时。

可以解决吗?

更新

它认为我们没有夏令时,因为TimeZone.getDefault().inDaylightTime( new Date() ) 返回false

【问题讨论】:

【参考方案1】:

请参阅Timezone Data Versions in the JRE Software 图表。您所指的更改是在 tzdata 2014f 中进行的 - 这是在 TZUpdater 1.4.6 或 JRE 1.8 更新 31 中首次引入的。您说您正在运行 1.8 更新 25。

只需将您的 Java 运行时更新到当前版本。

【讨论】:

以上是关于Java 错误:MSK 中的时间不正确的主要内容,如果未能解决你的问题,请参考以下文章

Java 说 XML 文档格式不正确

java.util.zip.DataFormatException:数据检查不正确

数组中的“System.FormatException:'输入字符串格式不正确”错误

错误:文件 <报告文件名> 中的 536 错误无法连接:登录参数不正确

FB2.1 中的错误消息不正确

SQL 中的 Pivot 语法错误,为啥我得到不正确的结果?