簡體   English   中英

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運行時有一個時區: - $ 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

我試過搜索文檔,但可以找到這個增強/畸變的參考。

請參閱JRE發行說明:

JDK 7u60

IANA Data 2014b。 JDK 7u60包含IANA時區數據版本2014b

JDK 8u66

IANA Data 2015f。 JDK 8u66包含IANA時區數據版本2015f。

然后,您可以在“JRE軟件中的時區數據版本”中看到TZ DB 2014f發生了變化:

澳大利亞東部時區縮寫現在是AEST / AEDT而不是EST,其他澳大利亞地區也是如此。 也就是說,對於東部標准和夏令時,縮寫是AEST和AEDT而不是前兩者的EST; 類似地,現在使用ACST / ACDT,ACWST / ACWDT和AWST / AWDT代替前CST,CWST和WST。 此更改不會影響UTC偏移,僅影響時區縮寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM