java 获得的系统时间与操作系统的时间不一致.docx
-
资源ID:3061224
资源大小:37.84KB
全文页数:4页
- 资源格式: DOCX
下载积分:6.99金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
java 获得的系统时间与操作系统的时间不一致.docx
java 获得的系统时间与操作系统的时间不一致 www.bj- java 获得的系统时间与操作系统的时间不一致 想索取更多相关资料请加qq:649085085或登录http:/www.bj- PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。 问题: 1.new Date 得到的时间?和系统相差 相差8个小时 2.eclipse控制台打印的时间与系统相差 相差8个小时 3.log4j日志的时间与与系统相差 相差8个小时 上述问题其实是同一个问题。 原因:java获得的时区跟系统的时区不一样 解决方法如下: 1.在代码前加上下面这句话就行了:TimeZone tz =TimeZone.getTimeZone;TimeZone.setDefault 2.在tomcat中修改catalina.bat文件的 set JAVA_OPTS在后面加上-Duser.timezone=GMT+08 3.修改注册表中的默认时区改成 北京,重庆,香港特别行政区,乌鲁木齐 如果还不行看下:从正常的并且是相同系统的机器中导出HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionTime Zones 项,然后导入到自己机器中 . 以上三种方法都是解决方法。 在修改时区的时候最好用代码看下JAVA获得的时区是什么时区,代码如下: Properties props=System.getProperties; www.bj- Iteratoriter=props.keySet。iterator; while?Stringkey=iter.next; System.out.println); user.timezone=?就是JAVA获得的时区,然后再看操作系统的时区。去改注册表吧。 weblogic : 有一个页面需要保存日期,在前台JS中DEBUG的时候都是正确的,可是存到数据库中,就发现日期少一天,准确的说是比选择的日期早了8个小时,基本就可以确定是时区的错误, 开始查找,数据库时区,没问题,服务器系统时区,没问题, 最终问题居然出在weblogic的时区上面 weblogic是使用自带的jre,而自带的jre中默认的时区就是GMT,而中国标准时间大家都知道是GMT+8,网上有说去改weblogic自带jre中的GMT文件,把GMT8改成GMT,但总觉得这样不是很好,如果有需要使用GMT标准时间的时候会有出问题的风险 于是从weblogic的启动脚本上下手 修改 domians/project/bin/startWebLogic.cmd 找到类似 Xml代码 set JAVA_OPTIONS=%JAVA_OPTIONS% xml view plaincopy set JAVA_OPTIONS=%JAVA_OPTIONS% 在最后面加上 -Duser.timezone=GMT+8 即设置时区为GMT+8 也可写为 Asia/shanghai 修改之后为 www.bj- Xml代码 set JAVA_OPTIONS=%JAVA_OPTIONS% -Duser.timezone=GMT+8 xml view plaincopy set JAVA_OPTIONS=%JAVA_OPTIONS% -Duser.timezone=GMT+8 保存,重新启动weblogic,问题解决 文件查找:startWebLogic.cmd unix搜索命令: find / -name mk/表示查找目录,也可以具体到某个目录以提高效率-name表示以文件名查找 设置默认时区: TimeZone tz =TimeZone.getTimeZone; TimeZone.setDefault; Date date=new Date; String str=new SimpleDateFormat。format; System.out.println; 设置时间格式的时区: SimpleDateFormat sdf=new SimpleDateFormat; sdf.setTimeZone); Date d = new Date; System.out.println); 设置日历的时区: Calendar now = Calendar.getInstance; www.bj- now.setTimeZone);/important System.out.println); System.out.println); System.out.println); System.out.println); 设置时间格式的时区: SimpleDateFormat formatter = new SimpleDateFormat; formatter.setTimeZone); Date currTime = new Date; String thisTime = new String); System.out.println; 系统时区: String tzId = TimeZone.getDefault。getID; System.out.println; 系统时区: String zone = System.getProperty; System.out.println; 想索取更多相关资料请加qq:649085085或登录http:/www.bj- PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。