关于Calendar增加天数,而月份不变的问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 19:15:58
Calendar objCalendar=Calendar.getInstance();
objCalendar.set(2009,5,5);
现在我想在这个日期上加40天
objCalendar.add(Calendar.MONTH,-1);
objCalendar.add(Calendar.DATE,40);
.
.
.

//问题1、但是如果我不加objCalendar.add(Calendar.MONTH,-1);的话得到的是本月最后一天呢?
问题2、-1是什么意识?减去1吗?而为什么我输入0他却加上2个月呢?
3、Calendar不能根据加的天数自动曾月吗?而年为什么又可以呢?
请告诉给小弟讲解一下,万分感激!

加40天
objCalendar.add(Calendar.DAY_OF_MONTH,40);
from jdk api:
add
public abstract void add(int field,
int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点:
add(Calendar.DAY_OF_MONTH, -5)。

参数:
field - 日历字段。
amount - 为字段添加的日期或时间量。