原来的代码中使用TimeZone.setDefault(TimeZone.getTimeZone("ETC/GMT-8"));来设定中国时间,在java7中运行正常。 升级到jre8后,系统取得的时间差了八小时。 使用TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));后在两个版本的java中都表现正常。