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());
}
}
结果: