我正在檢查DayLight保存時間,因爲我使用的是美國時區。由於DST於2013年3月10日凌晨2:00在美國開始,並將於2013年11月3日凌晨2:00結束。所以我們必須在凌晨2點轉發時鐘1小時,當它結束時,必須在凌晨2點恢復時鐘1小時。我只是想檢查DST結束時凌晨2:00的實際時間。它在DST開始時工作正常,但DST結束時它不工作。這裏是我試過的代碼示例:問題得到結束DayLight保存時間
TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
Calendar cal =Calendar.getInstance();
if (TimeZone.getDefault().useDaylightTime())
{
for(int i = 0; i< 5 ; ++i)
{
cal.set(2013,10,03,1,57+i,60);
long timemillis = cal.getTimeInMillis();
setCurrentTimeInMills(timemillis);
String formatTime = Dateformated(timemillis);
System.out.println(formatTime);
}
}
輸出是這樣的:
03-11-2013 01:58:00 PST
03-11-2013 01:59:00 PST
03-11-2013 02:00:00 PST
03-11-2013 02:01:00 PST
03-11-2013 02:02:00 PST
我的Java版本:1.6.0_16。這裏Datformated()是用戶定義的函數,以可讀格式查看時間,setCurrentTime()也是用戶定義的方法來設置當前時間。可以任何人幫助我,爲什麼在上午1:59:60時間成爲2:00 AM據我所知,應該是1:00 AM呢?
什麼是'DateUtil'和'Dateformat'? – assylias
你可以使用喬達時間嗎?這是一個更好的圖書館... –
@assylias現在你可以再次檢查我編輯的代碼,以便更好地理解 – JackNeil