处理java获取体系时间差8个小时ITeye - 娱乐之横扫全球

处理java获取体系时间差8个小时ITeye

2019年02月28日13时07分27秒 | 作者: 冬萱 | 标签: 小时,时刻,程序 | 浏览: 760

在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")

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章