2013-06-12 31 views
1

我用這個代碼:日曆中的Java 1.6 - 奇怪的結果

 java.util.GregorianCalendar cal1 = new java.util.GregorianCalendar(); 
     cal1.set(java.util.Calendar.HOUR, 22); 
     cal1.set(java.util.Calendar.MINUTE, 20); 
     cal1.set(java.util.Calendar.SECOND, 0); 

     System.out.println(">>> date=" + cal1.getTime()); 

當我在15:58運行它,它打印:

日期=週四10年6月13日: 20:00 CEST 2013

當我在07:00運行它,它打印:

日期=週三6月12日22點20分零零秒CEST 2013

我需要它總是打印最後的結果。我可能做的不正確,但我想知道這兩個結果的原因取決於我運行它的一天的時間。

回答

14

當您應該設置HOUR_OF_DAY時,您正在設置HOUR

HOUR修改在「10 AM」或「10 PM」中看到的值。兩個10都是相同的價值。該字段的「正確」範圍是0-11。

HOUR_OF_DAY是24小時制中指定的小時數。

+0

好的就是這樣。謝謝!只能在9分鐘內接受。 :) – Guus