我使用此代码:
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运行它时会打印出来:
date = Thu Jun 13 10:20:00 CEST 2013
当我在07:00运行它时会打印出来:
date = Wed Jun 12 22:20:00 CEST 2013
我总是需要它来打印最后的结果。我可能做错了什么,但我想知道这两个结果的原因取决于我运行它的时间。
答案 0 :(得分:14)
您应该在设置HOUR
时设置HOUR_OF_DAY
。
HOUR
修改“10 AM”或“10 PM”中显示的值。两个10都是相同的值。该字段的“正确”范围是0-11。
HOUR_OF_DAY
是24小时制中指定的小时。