为什么日历加 1 后 Day 没有变化?

Why does not the Day change after adding 1 to the calendar?

我有以下代码:

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(timeOneHour));
calendar.set(Calendar.MINUTE,Integer.valueOf(timeOneMinute) ); 
calendar.set(Calendar.SECOND, 00);

其中 timeOneHour = 10 和 timeOneMinute = 20

现在我执行以下操作:

System.out.println("On Day before adding: "+calendar.get(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.DAY_OF_MONTH, (calendar.get(Calendar.DAY_OF_MONTH+1)));
System.out.println("On Day after adding: "+calendar.get(Calendar.DAY_OF_MONTH));

上面的两个 println 命令都打印出 2 - 我在这里犯了什么错误?

您是否尝试过像这样增加日期:?

calendar.add(Calendar.DAY_OF_MONTH, 1);

您在添加 +1 时出错

calendar.set(Calendar.DAY_OF_MONTH, (calendar.get(Calendar.DAY_OF_MONTH+1)));

应该是

calendar.set(Calendar.DAY_OF_MONTH, (calendar.get(Calendar.DAY_OF_MONTH)+1));

您实际上是在常量 DAY_OF_MONTH 上加一,它恰好是 DAY_OF_YEAR。对于 1 月,它们是相同的。)