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

本文介绍了一个在Java中显示系统时间的问题,在JDK1.5环境下显示的时间会比实际时间少8小时。通过调整时区设置可以解决该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java获取系统时间问题:

[java]  view plain copy
  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下运行正常:



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

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

[java]  view plain copy
  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. }  

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值