读书人

解决java获取系统时间差八个小时

发布时间: 2012-12-19 14:13:14 作者: rapoo

解决java获取系统时间差8个小时

在WIN7下发现一些Java的程序获取系统时间比真实时间差了8个小时,怀疑是Java程序沿用了低版本的JDK,获取时间时取的GSM 0时区,而中国是GSM +8,所以查了8个小时,解决办法如下:

?

修改如下:

?

Date d = new Date();  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd  kk:mm:ss ");  sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));  System.out.println(sdf.format(d));

?

? Calendar now = Calendar.getInstance(); now.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));//important System.out.println(now.get(Calendar.HOUR_OF_DAY)); System.out.println(now.get(Calendar.MINUTE)); System.out.println(now.get(Calendar.SECOND));

????

?

?

这样就可以了。

关键就是设置TimeZone: TimeZone.getTimeZone("Asia/Shanghai")

读书人网 >编程

热点推荐