Java 8 和 Java 7 的时区差异
Timezone differences in Java 8 and Java 7
下面的示例 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:-
$ 未设置 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
我尝试搜索文档,但可以找到对此 enhancement/aberration 的参考。
查看 JRE 发行说明:
IANA Data 2014b. JDK 7u60 contains IANA time zone data version 2014b
IANA Data 2015f. JDK 8u66 contains IANA time zone data version 2015f.
然后在"Timezone Data Versions in the JRE Software"中可以看到TZ DB 2014f有变化:
Australian eastern time zone abbreviations are now AEST/AEDT not EST, and similarly for the other Australian zones. That is, for eastern standard and daylight saving time the abbreviations are AEST and AEDT instead of the former EST for both; similarly, ACST/ACDT, ACWST/ACWDT, and AWST/AWDT are now used instead of the former CST, CWST, and WST. This change does not affect UTC offsets, only time zone abbreviations.
下面的示例 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:- $ 未设置 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
我尝试搜索文档,但可以找到对此 enhancement/aberration 的参考。
查看 JRE 发行说明:
IANA Data 2014b. JDK 7u60 contains IANA time zone data version 2014b
IANA Data 2015f. JDK 8u66 contains IANA time zone data version 2015f.
然后在"Timezone Data Versions in the JRE Software"中可以看到TZ DB 2014f有变化:
Australian eastern time zone abbreviations are now AEST/AEDT not EST, and similarly for the other Australian zones. That is, for eastern standard and daylight saving time the abbreviations are AEST and AEDT instead of the former EST for both; similarly, ACST/ACDT, ACWST/ACWDT, and AWST/AWDT are now used instead of the former CST, CWST, and WST. This change does not affect UTC offsets, only time zone abbreviations.