假设当前日期为5月28日。如果我将以下命令调用以使输出变为在Android中向日历添加一天失败31日
cal.add(Calendar.DATE, 1); // Day = 29
cal.add(Calendar.DATE, 1); // Day = 30
cal.add(Calendar.DATE, 1); // Day = 31
cal.add(Calendar.DATE, 1); // Day = 31
cal.add(Calendar.DATE, -1); // Day = 29
为什么这不是跳进下个月。为什么它卡在31日。 (但实际上,当你减1它跳到29.
卷只有“滚动”你改变的领域,不改变大的领域 – IncrediApp 2012-08-09 11:19:07
http://docs.oracle.com/ javase/1.4.2/docs/api/java/util/Calendar.html#roll(int,int) – IncrediApp 2012-08-09 11:20:54
@IncrediApp似乎是对的,滚动的解释首先向另一个方向建议_“指定的增量或减量字段并在超出当前日期的最大值或最小值时包装字段的值,其他字段将根据需要进行调整以保持一致的日期。“_ – Kostronor 2012-08-09 11:24:35