我发现 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
我们没有夏令时。
可以修复吗?
更新
它认为我们没有 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/