我发现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
。
答案 0 :(得分:2)
请参阅Timezone Data Versions in the JRE Software图表。您所指的更改是在tzdata 2014f中进行的 - 这是在TZUpdater 1.4.6或JRE 1.8更新31中首次引入的。您说您运行的是1.8更新25。
只需将Java运行时更新为当前版本。