Calender中的所有的时间获取都是一个常量的值。用常量来代表要获取的值。比如5代表了一个月中的第几天,但是这是个常量的指针。需要你用来获取对应的真实值。7、代表了在这周中的第几天。其实就是日历字段。然后通过get()方法获取指定日历字段的值。 下面是源码。
get(7)获取7对应的 字段的日期 获取是第几天
calendar.year是代表了获取年的一个常量值。常量值 代表了获取的真实值。用get获取
int year = c.get(Calendar.YEAR);
public static final int ERA = 0;
public static final int YEAR = 1;
public static final int MONTH = 2;
public static final int WEEK_OF_YEAR = 3;
public static final int WEEK_OF_MONTH = 4;
public static final int DATE = 5;
public static final int DAY_OF_MONTH = 5;
public static final int DAY_OF_YEAR = 6;
public static final int DAY_OF_WEEK = 7;
public static final int DAY_OF_WEEK_IN_MONTH = 8;
public static final int AM_PM = 9;
public static final int HOUR = 10;
public static final int HOUR_OF_DAY = 11;
public static final int MINUTE = 12;
public static final int SECOND = 13;
public static final int MILLISECOND = 14;
public static final int ZONE_OFFSET = 15;
public static final int DST_OFFSET = 16;
public static final int FIELD_COUNT = 17;
public static final int SUNDAY = 1;
public static final int MONDAY = 2;
public static final int TUESDAY = 3;
public static final int WEDNESDAY = 4;
public static final int THURSDAY = 5;
public static final int FRIDAY = 6;
public static final int SATURDAY = 7;
public static final int JANUARY = 0;
public static final int FEBRUARY = 1;
public static final int MARCH = 2;
public static final int APRIL = 3;
public static final int MAY = 4;
public static final int JUNE = 5;
public static final int JULY = 6;
public static final int AUGUST = 7;
public static final int SEPTEMBER = 8;
public static final int OCTOBER = 9;
public static final int NOVEMBER = 10;
public static final int DECEMBER = 11;
public static final int UNDECIMBER = 12;
public static final int AM = 0;
public static final int PM = 1;
public static final int ALL_STYLES = 0;
public static final int SHORT = 1;
public static final int LONG = 2;
protected int fields[];
protected boolean isSet[];
private transient int stamp[];
protected long time;
protected boolean isTimeSet;
protected boolean areFieldsSet;
transient boolean areAllFieldsSet;
private boolean lenient;
private TimeZone zone;
private transient boolean sharedZone;
private int firstDayOfWeek;
private int minimalDaysInFirstWeek;
private static final ConcurrentMap cachedLocaleData = new ConcurrentHashMap(3);
private static final int UNSET = 0;
private static final int COMPUTED = 1;
private static final int MINIMUM_USER_STAMP = 2;
static final int ALL_FIELDS = 131071;
private int nextStamp;
static final int currentSerialVersion = 1;
private int serialVersionOnStream;
static final long serialVersionUID = -1807547505821590642L;
static final int ERA_MASK = 1;
static final int YEAR_MASK = 2;
static final int MONTH_MASK = 4;
static final int WEEK_OF_YEAR_MASK = 8;
static final int WEEK_OF_MONTH_MASK = 16;
static final int DAY_OF_MONTH_MASK = 32;
static final int DATE_MASK = 32;
static final int DAY_OF_YEAR_MASK = 64;
static final int DAY_OF_WEEK_MASK = 128;
static final int DAY_OF_WEEK_IN_MONTH_MASK = 256;
static final int AM_PM_MASK = 512;
static final int HOUR_MASK = 1024;
static final int HOUR_OF_DAY_MASK = 2048;
static final int MINUTE_MASK = 4096;
static final int SECOND_MASK = 8192;
static final int MILLISECOND_MASK = 16384;
static final int ZONE_OFFSET_MASK = 32768;
static final int DST_OFFSET_MASK = 65536;
private static final String FIELD_NAME[] = {
"ERA", "YEAR", "MONTH", "WEEK_OF_YEAR", "WEEK_OF_MONTH", "DAY_OF_MONTH", "DAY_OF_YEAR", "DAY_OF_WEEK", "DAY_OF_WEEK_IN_MONTH", "AM_PM",
"HOUR", "HOUR_OF_DAY", "MINUTE", "SECOND", "MILLISECOND", "ZONE_OFFSET", "DST_OFFSET"
};