加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");TimeZone.setDefault(tz)

(2014-03-03 10:09:12)
标签:

it

1.new Date() 得到的时间?和系统相差 相差8个小时

2.eclipse控制台打印的时间与系统相差 相差8个小时

3.log4j日志的时间与与系统相差 相差8个小时

上述问题其实是同一个问题。

原因:java获得的时区跟系统的时区不一样

 

解决方法如下:

1.在代码前加上下面这句话就行了:TimeZone tz =TimeZone.getTimeZone("Asia/Shanghai");TimeZone.setDefault(tz)

2.在tomcat中修改catalina.bat文件的 set JAVA_OPTS在后面加上-Duser.timezone=GMT+08

3.修改注册表中的默认时区改成(GMT+08:00) 北京,重庆,香港特别行政区,乌鲁木齐

如果还不行看下:从正常的并且是相同系统的机器中导出HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Time Zones 项,然后导入到自己机器中 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有