2015-11-24 5 views
3

Ниже приведены даты печати кода Java. DateTest.javaРазница в часовых поясах в Java 8 и Java 7

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 

Я попытался найти документации, но может найти ссылку к этому усилению/аберрации.

ответ

2

Смотрите примечания к выпуску JRE:

JDK 7u60

2014b IANA данных. JDK 7u60 содержит IANA времени версии данных зоны 2014b

JDK 8u66

IANA данных 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 теперь используются вместо прежнего КНТ, CWST и WST. Это изменение не влияет на смещения UTC, только сокращения по часовому поясу.

Смежные вопросы