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


Java获取系统时间问题:

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


JDK1.7下运行正常:



在网上找了些资料,有说注册表损坏的,改注册表。但是在朋友的机器上运行,也是类似的结果。

后来找到一种解决方案:运行时修改时区

  1. public class TestDate {  
  2.     public static void main(String[] args) {  
  3.         //设置默认时区   
  4.         TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));   
  5.         System.out.println("java.runtime.version:\t"+System.getProperty("java.runtime.version"));  
  6.         System.out.println("当前时间:\t\t"+new Date().toLocaleString());  
  7.     }  
  8. }  
结果:

相关内容