java中new date与系统时间差8小时

System.out.println(System.getProperty("user.timezone"));System.out.println(newDate())... System.out.println(System.getProperty("user.timezone"));
System.out.println(new Date());
打印结果:
GMT
Thu Jan 22 07:57:57 GMT 2015
当前时间是2015-01-22 15:57:57,正确的应该是GMT+08:00
如果是前台js就是正确的时间,后台java获取就是GMT时间,这是为什么?我觉得是MyEclipse或者java的问题。
查了一下资料说,
①直接添加jvm参数:-Duser.timezone=GMT+8,可以解决这个问题。
②双击系统任务栏(os为xp sp2)的时间,在日期和时间属性窗口中修改时区为别的任意时区,保存,
打印System.out.println(System.getProperty("user.timezone"));,如果和你修改的那个时区值一致,再修改为北京所在的GMT+08时区,就能打印出GMT+08:00了,问题也就解决了。
http://blog.csdn.net/gaohaiyang/article/details/7043081
可是我不知道在哪儿设置jvm参数,cmd命令也不行啊。第二种方法也不行,也看不懂“如果和你修改的那个时区值一致”这句话什么意思,求解答~
展开
 我来答
ltforyou
推荐于2017-11-27 · TA获得超过257个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:125万
展开全部
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));

用这个试试

你不太可能每个地方都使用上面这段代码,最好是包装一下,只需要设置一次就可以了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式