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

本文介绍了解决在使用Tomcat服务器时遇到的时间显示偏差问题,提供了两种调整时区的方法:一是通过Date类和DateFormat设置时区;二是直接修改Tomcat配置文件。

这两天做一个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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值