在继承ServletContextListener的实现方法中输出的时间和本地是相差8个小时,所以可能是时区的问题,将时区改成“GMT+8”后和本地时间一致了。
DateFormat format = new SimpleDateFormat("HHmm");
String time = format.format(new Date());
System.out.println("time: "+tim);
输出:816
但本地时间为:1616
添加时区设置
DateFormat format = new SimpleDateFormat("HHmm");
format.setTimeZone(TimeZone.getTimeZone("GMT+8"));
String time = format.format(new Date());
System.out.println("time: "+tim);
输出:1618,和本地时间1618一样。
DateFormat format = new SimpleDateFormat("HHmm");
String time = format.format(new Date());
System.out.println("time: "+tim);
输出:816
但本地时间为:1616
添加时区设置
DateFormat format = new SimpleDateFormat("HHmm");
format.setTimeZone(TimeZone.getTimeZone("GMT+8"));
String time = format.format(new Date());
System.out.println("time: "+tim);
输出:1618,和本地时间1618一样。