您的位置:首页 > 运维架构 > Tomcat

java web/tomcat项目中Date类获取时间不正确的问题

2011-12-16 14:10 1021 查看
这两天做一个web项目,数据库中有个字段为上次登录的时间,所以需要在用户登录的时候记录下时间 没用calendar 用了Date类,突然发现system.out.println(date)的时候时间比北京时间晚了8个小时(还是早了,反正是差8个小时) 仔细一看系统时间 完全正确,当时以为是jdk sb了下 调试了半天发现怎么都不对
而新建一个java project ,system.out.println(date)的结果却完全正确
后来才知道是tomcat服务器 默认时区问题
解决方法大体有2种
 

-》Date   date=new   Date();

DateFormat   formatter=DateFormat.getDateTimeInstance();
//得到一个指定时区(中国是东8区的)的DateFormat 对象

TimeZone   timezone=TimeZone.getTimeZone( "GMT+08:00 ");
//实例化时区对象
formatter.setTimeZone(timezone);

System.out.println(formatter.format(date));  //输出格式化后的时间

-》修改tomcat文件下的bin/catalina 文件 用记事本打开

找到set JAVA_OPTS=

改成 set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx800m -Duser.timezone=GMT+08
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息