1
嗨在下面的代碼段我得到的輸出爲9和10,爲什麼會發生這種情況?即使日曆的時區不同,我們也會通過相同的日期來設置時間。據我所知,時間是從曆元計算出來的一個相對值,所以無論什麼時區,這個相對值都應該是相同的在不同時區的Java日曆給出了不同的值同時
我在一個時區遇到與我的數據庫類似的問題,服務器在另一個。
Date date = new Date();
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("America/Los_Angeles"),Locale.US);
Calendar c1 = Calendar.getInstance();
c.setTime(date);
c1.setTime(date);
System.out.println(c.get(Calendar.HOUR));
System.out.println(c1.get(Calendar.HOUR));
現在在洛杉磯的時間和你住的地方一樣嗎?格林威治是否一樣?來自wiki *「時區是地球上具有統一標準時間的地區......陸地上的大多數時區都與協調世界時(UTC)相差了整整數小時(UTC-12到UTC + 14),但有一些偏移了30或45分鐘,一些較高緯度的國家在一年中的一部分時間使用夏令時,通常是通過改變時鐘一小時。*「 – MadProgrammer 2013-02-27 05:35:16
嗨,感謝您的時間,但請不要說我我將相同的時間設置爲日曆實例,甚至在設置日曆實例的正常時間之後,它們將返回不同的值,那就是我的困惑 – Ajay 2013-02-27 05:36:45
是的,但是您在兩個不同的時區設置「相同時間」這就是每個人都在做的事情。格林威治標準時間上午10點!= PST上午10點。 – Ben 2013-07-19 09:40:34