Java 错误 : incorrect time in MSK

标签 java windows windows-8 timezone dst

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

enter image description here

如您所见,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

我们没有夏令时。

可以修复吗?

更新

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

最佳答案

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

只需将 Java 运行时更新到当前版本即可。

关于Java 错误 : incorrect time in MSK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377298/

相关文章:

java - 不兼容类型卡无法转换为字符串

java - 在 Eclipse RCP 编辑器中,处理缺失必填字段的最佳方法是什么?

java - java中垃圾收集器的逻辑

非控制台应用程序项目中的 C++ 控制台

javascript - 共享魅力在使用几次后开始出现错误

java - 如何将网格从 Blender 3.++ 导入到 javafx?

windows - 如何使用 dbghlp 和 pdb 获取结构的字段名称和偏移量

c++ - 获取进程标识符总是返回 0

c# - 在 Windows 8 桌面应用程序上使用 MediaCapture

xaml - 在 Windows Store Apps/Metro XAML 中将 WebView 设置为自动高度