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命令也不行啊。第二种方法也不行,也看不懂“如果和你修改的那个时区值一致”这句话什么意思,求解答~

参考技术A 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));

用这个试试

你不太可能每个地方都使用上面这段代码,最好是包装一下,只需要设置一次就可以了本回答被提问者和网友采纳

以上是关于java中new date与系统时间差8小时的主要内容,如果未能解决你的问题,请参考以下文章

怎么实时同步java虚拟机与操作系统时区 及JVM启动后再更改操作系统时区或时间也能保持其同步? new date() 时差8个小时的解决方案

liunx tomcat(java new Date)服务时间比系统时间慢8个小时,刚起完服务时间是正常的,隔一天就变了

new Date()跟系统时间差8小时

Java 时间不一致

如何解决通过new Date()获取时间写出数据库与当前时间相差8小时问题亲测有效

我用java的Date类获取系统时间怎么和实际的系统时间时间不一致啊?只是小时不一样 求解。。。。。。