2013-06-12 87 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