java.util
Class Calendar

java.lang.Object
  extended by java.util.Calendar

public abstract class Calendar
extends Object

Calendar is an abstract base class for converting between a Date object and a set of integer fields such as YEAR, MONTH, DAY, HOUR, and so on. (A Date object represents a specific instant in time with millisecond precision. See Date for information about the Date class.) Subclasses of Calendar interpret a Date according to the rules of a specific calendar system. Like other locale-sensitive classes, Calendar provides a class method, getInstance, for getting a generally useful object of this type. Calendar rightNow = Calendar.getInstance(); A Calendar object can produce all the time field values needed to implement the date-time formatting for a particular language and calendar style (for example, Japanese-Gregorian, Japanese-Traditional). When computing a Date from time fields, there may be insufficient information to compute the Date (such as only year and month but no day in the month). Insufficient information. The calendar will use default information to specify the missing fields. This may vary by calendar; for the Gregorian calendar, the default for a field is the same as that of the start of the epoch: i.e., YEAR = 1970, MONTH = JANUARY, DATE = 1, etc. Note: The ambiguity in interpretation of what day midnight belongs to, is resolved as so: midnight "belongs" to the following day. 23:59 on Dec 31, 1969 < 00:00 on Jan 1, 1970. 12:00 PM is midday, and 12:00 AM is midnight. 11:59 PM on Jan 1 < 12:00 AM on Jan 2 < 12:01 AM on Jan 2. 11:59 AM on Mar 10 < 12:00 PM on Mar 10 < 12:01 PM on Mar 10. 24:00 or greater are invalid. Hours greater than 12 are invalid in AM/PM mode. Setting the time will never change the date. If equivalent times are entered in AM/PM or 24 hour mode, equality will be determined by the actual time rather than the entered time. This class has been subset for J2ME based on the JDK 1.3 Calendar class. Many methods and variables have been pruned, and other methods simplified, in an effort to reduce the size of this class.


Field Summary
static int AM
          Value of the AM_PM field indicating the period of the day from midnight to just before noon.
static int AM_PM
          Field number for get and set indicating whether the HOUR is before or after noon.
static int APRIL
           
static int AUGUST
           
static int DATE
          Field number for get and set indicating the day of the month.
static int DAY_OF_MONTH
          Field number for get and set indicating the day of the month.
static int DAY_OF_WEEK
          Field number for get and set indicating the day of the week.
static int DECEMBER
           
static int FEBRUARY
           
static int FRIDAY
           
static int HOUR
          Field number for get and set indicating the hour of the morning or afternoon.
static int HOUR_OF_DAY
          Field number for get and set indicating the hour of the day.
static int JANUARY
           
static int JULY
           
static int JUNE
           
static int MARCH
           
static int MAY
           
static int MILLISECOND
          Field number for get and set indicating the millisecond within the second.
static int MINUTE
          Field number for get and set indicating the minute within the hour.
static int MONDAY
           
static int MONTH
          Field number for get and set indicating the month.
static int NOVEMBER
           
static int OCTOBER
           
static int PM
          Value of the AM_PM field indicating the period of the day from noon to just before midnight.
static int SATURDAY
           
static int SECOND
          Field number for get and set indicating the second within the minute.
static int SEPTEMBER
           
static int SUNDAY
           
static int THURSDAY
           
static int TUESDAY
           
static int WEDNESDAY
           
static int YEAR
          Field number for get and set indicating the year.
 
Constructor Summary
protected Calendar()
          Constructs a Calendar with the default time zone.
 
Method Summary
 boolean after(Object when)
          Compares the time field records.
 boolean before(Object when)
          Compares the time field records.
protected abstract  void computeFields()
          Converts the current millisecond time value time to field values in fields[].
protected abstract  void computeTime()
          Converts the current field values in fields[] to the millisecond time value time.
 boolean equals(Object obj)
          Compares this calendar to the specified object.
 int get(int field)
          Gets the value for a given time field.
static Calendar getInstance()
          Gets a calendar using the default time zone.
static Calendar getInstance(TimeZone zone)
          Gets a calendar using the specified time zone.
 Date getTime()
          Gets this Calendar's current time.
protected  long getTimeInMillis()
          Gets this Calendar's current time as a long expressed in milliseconds after January 1, 1970, 0:00:00 GMT (the epoch).
 TimeZone getTimeZone()
          Gets the time zone.
 void set(int field, int value)
          Sets the time field with the given value.
 void setTime(Date date)
          Sets this Calendar's current time with the given Date.
protected  void setTimeInMillis(long millis)
          Sets this Calendar's current time from the given long value.
 void setTimeZone(TimeZone value)
          Sets the time zone with the given time zone value.
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AM_PM

public static final int AM_PM
Field number for get and set indicating whether the HOUR is before or after noon. E.g., at 10:04:15.250 PM the AM_PM is PM.

See Also:
Constant Field Values

PM

public static final int PM
Value of the AM_PM field indicating the period of the day from noon to just before midnight.

See Also:
Constant Field Values

AM

public static final int AM
Value of the AM_PM field indicating the period of the day from midnight to just before noon.

See Also:
Constant Field Values

YEAR

public static final int YEAR
Field number for get and set indicating the year. This is a calendar-specific value.

See Also:
Constant Field Values

MONTH

public static final int MONTH
Field number for get and set indicating the month. This is a calendar-specific value.

See Also:
Constant Field Values

DATE

public static final int DATE
Field number for get and set indicating the day of the month. This is a synonym for DAY_OF_MONTH.

See Also:
Constant Field Values

DAY_OF_MONTH

public static final int DAY_OF_MONTH
Field number for get and set indicating the day of the month. This is a synonym for DATE.

See Also:
Constant Field Values

DAY_OF_WEEK

public static final int DAY_OF_WEEK
Field number for get and set indicating the day of the week.

See Also:
Constant Field Values

HOUR

public static final int HOUR
Field number for get and set indicating the hour of the morning or afternoon. HOUR is used for the 12-hour clock. E.g., at 10:04:15.250 PM the HOUR is 10.

See Also:
Constant Field Values

HOUR_OF_DAY

public static final int HOUR_OF_DAY
Field number for get and set indicating the hour of the day. HOUR_OF_DAY is used for the 24-hour clock. E.g., at 10:04:15.250 PM the HOUR_OF_DAY is 22.

See Also:
Constant Field Values

MINUTE

public static final int MINUTE
Field number for get and set indicating the minute within the hour. E.g., at 10:04:15.250 PM the MINUTE is 4.

See Also:
Constant Field Values

SECOND

public static final int SECOND
Field number for get and set indicating the second within the minute. E.g., at 10:04:15.250 PM the SECOND is 15.

See Also:
Constant Field Values

MILLISECOND

public static final int MILLISECOND
Field number for get and set indicating the millisecond within the second. E.g., at 10:04:15.250 PM the MILLISECOND is 250.

See Also:
Constant Field Values

SUNDAY

public static final int SUNDAY
See Also:
Constant Field Values

MONDAY

public static final int MONDAY
See Also:
Constant Field Values

TUESDAY

public static final int TUESDAY
See Also:
Constant Field Values

WEDNESDAY

public static final int WEDNESDAY
See Also:
Constant Field Values

THURSDAY

public static final int THURSDAY
See Also:
Constant Field Values

FRIDAY

public static final int FRIDAY
See Also:
Constant Field Values

SATURDAY

public static final int SATURDAY
See Also:
Constant Field Values

JANUARY

public static final int JANUARY
See Also:
Constant Field Values

FEBRUARY

public static final int FEBRUARY
See Also:
Constant Field Values

MARCH

public static final int MARCH
See Also:
Constant Field Values

APRIL

public static final int APRIL
See Also:
Constant Field Values

MAY

public static final int MAY
See Also:
Constant Field Values

JUNE

public static final int JUNE
See Also:
Constant Field Values

JULY

public static final int JULY
See Also:
Constant Field Values

AUGUST

public static final int AUGUST
See Also:
Constant Field Values

SEPTEMBER

public static final int SEPTEMBER
See Also:
Constant Field Values

OCTOBER

public static final int OCTOBER
See Also:
Constant Field Values

NOVEMBER

public static final int NOVEMBER
See Also:
Constant Field Values

DECEMBER

public static final int DECEMBER
See Also:
Constant Field Values
Constructor Detail

Calendar

protected Calendar()
Constructs a Calendar with the default time zone.

Method Detail

after

public boolean after(Object when)
Compares the time field records. Equivalent to comparing result of conversion to UTC.


before

public boolean before(Object when)
Compares the time field records. Equivalent to comparing result of conversion to UTC.


computeFields

protected abstract void computeFields()
Converts the current millisecond time value time to field values in fields[]. This allows you to sync up the time field values with a new time that is set for the calendar.


computeTime

protected abstract void computeTime()
Converts the current field values in fields[] to the millisecond time value time.


equals

public boolean equals(Object obj)
Compares this calendar to the specified object. The result is true if and only if the argument is not null and is a Calendar object that represents the same calendar as this object.

Overrides:
equals in class Object
Parameters:
obj - the reference object with which to compare.
Returns:
true if this object is the same as the obj argument; false otherwise.

get

public final int get(int field)
Gets the value for a given time field.


getInstance

public static Calendar getInstance()
Gets a calendar using the default time zone.


getInstance

public static Calendar getInstance(TimeZone zone)
Gets a calendar using the specified time zone.


getTime

public final Date getTime()
Gets this Calendar's current time.


getTimeInMillis

protected long getTimeInMillis()
Gets this Calendar's current time as a long expressed in milliseconds after January 1, 1970, 0:00:00 GMT (the epoch).


getTimeZone

public TimeZone getTimeZone()
Gets the time zone.


set

public final void set(int field,
                      int value)
Sets the time field with the given value.


setTime

public final void setTime(Date date)
Sets this Calendar's current time with the given Date. Note: Calling setTime() with Date(Long.MAX_VALUE) or Date(Long.MIN_VALUE) may yield incorrect field values from get().


setTimeInMillis

protected void setTimeInMillis(long millis)
Sets this Calendar's current time from the given long value.


setTimeZone

public void setTimeZone(TimeZone value)
Sets the time zone with the given time zone value.