在不更改机器时区的情况下改变一个特定应用程序的时区(多种方法):
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);