java获取系统时间问题:
public class TestDate {
public static void main(String[] args) {
System.out.println("java.runtime.version:\t"+System.getProperty("java.runtime.version"));
System.out.println("当前时间:\t\t"+new Date().toLocaleString());
}
}这段代码在JDK1.5下运行 结果如下,少了8个小时:

JDK1.7下运行正常:

在网上找了些资料,有说注册表损坏的,改注册表。但是在朋友的机器上运行,也是类似的结果。
后来找到一种解决方案:运行时修改时区
public class TestDate {
public static void main(String[] args) {
//设置默认时区
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
System.out.println("java.runtime.version:\t"+System.getProperty("java.runtime.version"));
System.out.println("当前时间:\t\t"+new Date().toLocaleString());
}
}结果:

本文探讨了在不同JDK版本下Java获取系统时间的问题,特别关注时区差异导致的时间显示不一致现象,并提供了解决方案,即运行时修改时区设置。通过示例代码展示了如何在JDK1.5和JDK1.7环境下实现时间的一致性。
760

被折叠的 条评论
为什么被折叠?



