Java1.6中的日历-奇怪的结果

Java1.6中的日历-奇怪的结果,java,date,calendar,Java,Date,Calendar,我使用以下代码: 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

我使用以下代码:

        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运行它时,它会打印:

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

当我在07:00运行它时,它会打印:

日期=2013年6月12日星期三22:20:00

我总是需要它来打印最后的结果。我可能做了一些不正确的事情,但我想知道这两个结果的原因取决于我运行它的时间。

您正在设置应该设置的时间

小时修改上午10点或晚上10点的值。两个10都是相同的值。该字段的正确范围为0-11

HOUR OF_DAY是24小时制中指定的小时。

您正在设置应该设置的时间

小时修改上午10点或晚上10点的值。两个10都是相同的值。该字段的正确范围为0-11

HOUR_OF_DAY是24小时制中指定的小时