java 取系统时间相差13个小时,之前出现过8小时的情况,copy注册表解决了,但这次怎么搞都不行

不想在后台做什么处理,直接new Date()就能得到正确时间,就像之前没出问题一样。崩溃了,跪求高手帮忙
Properties pro=System.getProperties(); pro.list(System.out);输出user.timezone=America/Rio_Branco,为,怎样才能一次改成Asia/Shanghai呢

第1个回答  2014-01-15
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
你用的就是这种方法么?追问

直接new Date()额

追答

这样设置时区,试过没有?
设置为东八区。
TimeZone time = TimeZone.getTimeZone("GMT+8"); //设置为东八区
time = TimeZone.getDefault();// 这个是国际化所用的
TimeZone.setDefault(time);// 设置时区
Calendar calendar = Calendar.getInstance();// 获取实例
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//构造格式化模板
Date date = calendar.getTime(); //获取Date对象
String str = new String();
str = format1.format(date);//对象进行格式化,获取字符串格式的输出
System.out.println(str);

追问

结果一样,还是差了12.5个小时

追答

你的好奇怪哦。莫非是计算机操作系统的设置问题?
截图给我们看看你的结果。

追问

追答

现在问题还没用解决吗?那你输出时间是下午2:32,这个不正确么?那你系统的时间是什么呢?

追问

15:32额

追答

你的是差1个小时。那个输出应该是12小时制的。
还没解决么?

第2个回答  2014-01-15
是不是时区错了。试试这个

Calendar c = Calendar.getInstance();
c.setTimeZone(时区);追问

我就是不想每次都这样,有没有一次性根本的解决办法哈

本回答被网友采纳
第3个回答  2014-01-15
跟本机时间还是服务器时间?追问

当前时间,本地时间

大家正在搜