This abstract
class defines methods that perform date and time arithmetic. It also
includes methods that convert dates and times to and from the
machine-usable millisecond format used by the Date
class and units such as minutes, hours, days, weeks, months, and
years that are more useful to humans. As an abstract class,
Calendar cannot be directly instantiated. Instead,
it provides static getInstance( ) methods that
return instances of a Calendar subclass suitable
for use in a specified or default locale with a specified or default
time zone. See also Date,
DateFormat, and TimeZone.
Calendar defines a number of useful constants.
Some of these are values that represent days of the week and months
of the year. Other constants, such as HOUR and
DAY_OF_WEEK, represent various fields of date and
time information. These field constants are passed to a number of
Calendar methods, such as get(
) and set( ), in order to indicate what
particular date or time field is desired.
setTime( ) and the
various set( ) methods set the date represented by
a Calendar object. The add( )
method adds (or subtracts) values to a calendar field, incrementing
the next larger field when the field being set rolls over.
roll( ) does the same, without modifying anything
but the specified field. before( ) and
after( ) compare two Calendar
objects. Many of the methods of the Calendar class
are replacements for methods of Date that have
been deprecated as of Java 1.1. While the Calendar
class converts a time value to its various hour, day, month, and
other fields, it is not intended to present those fields in a form
suitable for display to the end user. That function is performed by
the java.text.DateFormat class, which handles
internationalization issues.
Calendar implements Comparable
in Java 5.0, but not in earlier releases.

public abstract class Calendar implements Serializable, Cloneable, Comparable<Calendar> {
// Protected Constructors
protected Calendar( );
protected Calendar(TimeZone zone, Locale aLocale);
// Public Constants
public static final int AM; =0
public static final int AM_PM; =9
public static final int APRIL; =3
public static final int AUGUST; =7
public static final int DATE; =5
public static final int DAY_OF_MONTH; =5
public static final int DAY_OF_WEEK; =7
public static final int DAY_OF_WEEK_IN_MONTH; =8
public static final int DAY_OF_YEAR; =6
public static final int DECEMBER; =11
public static final int DST_OFFSET; =16
public static final int ERA; =0
public static final int FEBRUARY; =1
public static final int FIELD_COUNT; =17
public static final int FRIDAY; =6
public static final int HOUR; =10
public static final int HOUR_OF_DAY; =11
public static final int JANUARY; =0
public static final int JULY; =6
public static final int JUNE; =5
public static final int MARCH; =2
public static final int MAY; =4
public static final int MILLISECOND; =14
public static final int MINUTE; =12
public static final int MONDAY; =2
public static final int MONTH; =2
public static final int NOVEMBER; =10
public static final int OCTOBER; =9
public static final int PM; =1
public static final int SATURDAY; =7
public static final int SECOND; =13
public static final int SEPTEMBER; =8
public static final int SUNDAY; =1
public static final int THURSDAY; =5
public static final int TUESDAY; =3
public static final int UNDECIMBER; =12
public static final int WEDNESDAY; =4
public static final int WEEK_OF_MONTH; =4
public static final int WEEK_OF_YEAR; =3
public static final int YEAR; =1
public static final int ZONE_OFFSET; =15
// Public Class Methods
public static Locale[ ] getAvailableLocales( ); synchronized
public static Calendar getInstance( );
public static Calendar getInstance(Locale aLocale);
public static Calendar getInstance(TimeZone zone);
public static Calendar getInstance(TimeZone zone, Locale aLocale);
// Public Instance Methods
public abstract void add(int field, int amount);
public boolean after(Object when);
public boolean before(Object when);
public final void clear( );
public final void clear(int field);
public int get(int field);
1.2 public int getActualMaximum(int field);
1.2 public int getActualMinimum(int field);
public int getFirstDayOfWeek( );
public abstract int getGreatestMinimum(int field);
public abstract int getLeastMaximum(int field);
public abstract int getMaximum(int field);
public int getMinimalDaysInFirstWeek( );
public abstract int getMinimum(int field);
public final Date getTime( );
public long getTimeInMillis( );
public TimeZone getTimeZone( );
public boolean isLenient( );
public final boolean isSet(int field);
1.2 public void roll(int field, int amount);
public abstract void roll(int field, boolean up);
public void set(int field, int value);
public final void set(int year, int month, int date);
public final void set(int year, int month, int date, int hourOfDay, int minute);
public final void set(int year, int month, int date, int hourOfDay, int minute,
int second);
public void setFirstDayOfWeek(int value);
public void setLenient(boolean lenient);
public void setMinimalDaysInFirstWeek(int value);
public final void setTime(Date date);
public void setTimeInMillis(long millis);
public void setTimeZone(TimeZone value);
// Methods Implementing Comparable
5.0 public int compareTo(Calendar anotherCalendar);
// Public Methods Overriding Object
public Object clone( );
public boolean equals(Object obj);
1.2 public int hashCode( );
public String toString( );
// Protected Instance Methods
protected void complete( );
protected abstract void computeFields( );
protected abstract void computeTime( );
protected final int internalGet(int field);
// Protected Instance Fields
protected boolean areFieldsSet;
protected int[ ] fields;
protected boolean[ ] isSet;
protected boolean isTimeSet;
protected long time;
}