以下示例java代码打印日期。 DateTest.java
import java.util.GregorianCalendar;
import java.util.Calendar;
public class DateTest{
public static void main(String []args){
Calendar cal = new GregorianCalendar();
cal.set(2013, 10, 13, 0, 0, 0);
System.out.println(cal.getTime());
}
}
但是,使用Java 7和8运行时有一个时区: - $ unset TZ
$ /sv/app/9.00/java/product/jdk1.8.0_66/bin/java DateTest
Wed Nov 13 00:00:00 AEST 2013
$ /sv/app/9.00/java/product/jdk1.7.0_60/bin/java DateTest
Wed Nov 13 00:00:00 EST 2013
我已尝试搜索文档,但可以找到此增强/偏差的参考。
答案 0 :(得分:4)
请参阅JRE发行说明:
IANA Data 2014b。 JDK 7u60包含IANA时区数据版本2014b
IANA Data 2015f。 JDK 8u66包含IANA时区数据版本2015f。
然后你可以在"Timezone Data Versions in the JRE Software"看到TZ DB 2014f发生了变化:
澳大利亚东部时区缩写现在是AEST / AEDT而不是EST,其他澳大利亚地区也是如此。也就是说,对于东部标准和夏令时,缩写是AEST和AEDT而不是前两者的EST;类似地,现在使用ACST / ACDT,ACWST / ACWDT和AWST / AWDT代替前CST,CWST和WST。此更改不会影响UTC偏移,只会影响时区缩写。