现在的位置: 首页 > 综合 > 正文

java 获取时间少8小时解决办法

2013年08月21日 ⁄ 综合 ⁄ 共 1200字 ⁄ 字号 评论关闭

最近也遇到这个问题,同样的时间计算在一个电脑上时对了,换了电脑就少了8个小时

关键字: jvm 8小时 时差

在不更改机器时区的情况下改变一个特定应用程序的时区(多种方法):

 

1、

TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
TimeZone.setDefault(tz);

 

2、

java -Duser.timezone=UTC TimeZoneTip

java -Duser.timezone=Asia/Shanghai

 

3、

针对tomcat,修改其catalina.bat 对应set JAVA_OPTS = -Duser.timezone=Asia/Shanghai

新增 -Duser.timezone=Asia/Shanghai 这句既可 。

 

4、代码中

     Date utilDate = new java.util.Date();

     SimpleDateFormat myFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取中国的时区
     myFmt.setTimeZone(timeZoneChina);//设置系统时区
     return myFmt.format(utilDate);

最近也遇到这个问题,同样的时间计算在一个电脑上时对了,换了电脑就少了8个小时

关键字: jvm 8小时 时差

在不更改机器时区的情况下改变一个特定应用程序的时区(多种方法):

 

1、

TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
TimeZone.setDefault(tz);

 

2、

java -Duser.timezone=UTC TimeZoneTip

java -Duser.timezone=Asia/Shanghai

 

3、

针对tomcat,修改其catalina.bat 对应set JAVA_OPTS = -Duser.timezone=Asia/Shanghai

新增 -Duser.timezone=Asia/Shanghai 这句既可 。

 

4、代码中

     Date utilDate = new java.util.Date();

     SimpleDateFormat myFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取中国的时区
     myFmt.setTimeZone(timeZoneChina);//设置系统时区
     return myFmt.format(utilDate);

抱歉!评论已关闭.