2013-04-25 77 views
5

奇怪的行爲,我運行下面的Java代碼:與時區

TimeZone tz1 = TimeZone.getTimeZone("Etc/GMT-3"); 
System.out.println(tz1.getDisplayName()); 

顯示爲GMT+03:00

看來,當我們使用帶有ID的時區(例如Etc/GMTxx)時,符號是相反的。爲什麼?

回答

6

即ETC風格:

http://en.wikipedia.org/wiki/Zoneinfo

的 「等」 特殊區域用於一些行政區域,特別是對 「ETC/UTC」,這代表協調世界時。爲了符合POSIX風格,以「Etc/GMT」開頭的區域名稱與大多數人的期望相反。在這種風格,GMT以西的地區有積極的跡象,那些東在他們的名字負號(e.g「ETC/GMT-14」是超前/ GMT以東14小時。