Java获取系统时间少8个小时

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

结果:


猜你喜欢

转载自blog.csdn.net/xiaochunyong/article/details/7727310