java中new date与系统时间差8小时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中new date与系统时间差8小时相关的知识,希望对你有一定的参考价值。
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命令也不行啊。第二种方法也不行,也看不懂“如果和你修改的那个时区值一致”这句话什么意思,求解答~
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
System.out.println(sdf.format(d));
用这个试试
你不太可能每个地方都使用上面这段代码,最好是包装一下,只需要设置一次就可以了本回答被提问者和网友采纳
以上是关于java中new date与系统时间差8小时的主要内容,如果未能解决你的问题,请参考以下文章
怎么实时同步java虚拟机与操作系统时区 及JVM启动后再更改操作系统时区或时间也能保持其同步? new date() 时差8个小时的解决方案
liunx tomcat(java new Date)服务时间比系统时间慢8个小时,刚起完服务时间是正常的,隔一天就变了