All Packages Class Hierarchy This Package Previous Next Index
Class java.util.Calendar
java.lang.Object
|
+----java.util.Calendar
- public class Calendar
- extends Object
- implements Serializable, Cloneable
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
java.util.Date
for information about the Date class.)
Subclasses of Calendar interpret a Date
according to the rules of a specific calendar system. The JDK
provides one concrete subclass of Calendar:
GregorianCalendar. Future subclasses could represent
the various types of lunar calendars in use in many parts of the world.
Like other locale-sensitive classes, Calendar provides a
class method, getInstance, for getting a generally useful
object of this type. Calendar's getInstance method
returns a GregorianCalendar object whose
time fields have been initialized with the current date and time:
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, two special circumstances
may arise: there may be insufficient information to compute the
Date (such as only year and month but no day in the month),
or there may be inconsistent information (such as "Tuesday, July 15, 1996"
-- July 15, 1996 is actually a Monday).
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.
Inconsistent information. The calendar will give preference
to the combinations of fields in the following order (and disregard other
inconsistent information).
month + day-of-month
month + week-of-month + day-of-week
month + day-of-week-of-month + day-of-week
day-of-year
day-of-week + week-of-year
hour-of-day
ampm + hour-of-ampm
Note: for some non-Gregorian calendars, different
fields may be necessary for complete disambiguation. For example, a full
specification of the historial Arabic astronomical calendar requires year,
month, day-of-month and day-of-week in some cases.
Note: There are certain possible ambiguities in
interpretation of certain singular times, which are resolved in the
following ways:
- 24:00:00 "belongs" to the following day. That is,
23:59 on Dec 31, 1969 < 24:00 on Jan 1, 1970 < 24:01:00 on Jan 1, 1970
- Although historically not precise, midnight also belongs to "am",
and noon belongs to "pm", so on the same day,
12:00 am (midnight) < 12:01 am, and 12:00 pm (noon) < 12:01 pm
The date or time format strings are not part of the definition of a
calendar, as those must be modifiable or overridable by the user at
runtime. Use java.text.DateFormat
to format dates.
Calendar provides an API for field "rolling", where fields
can be incremented or decremented, but wrap around. For example, rolling the
month up in the date "September 12, 1996" results in "October 12, 1996".
Calendar also provides a date arithmetic function for
adding the specified (signed) amount of time to a particular time field.
For example, subtracting 5 days from the date "September 12, 1996" results
in "September 7, 1996".
- See Also:
- Date, GregorianCalendar, TimeZone, DateFormat
-
AM
- Useful constant for hour in 12-hour clock.
-
AM_PM
- Useful constant for date and time.
-
APRIL
- Useful constant for month.
-
areFieldsSet
- The flag which tells if the time fields are set for the calendar.
-
AUGUST
- Useful constant for month.
-
DATE
- Useful constant for date and time.
-
DAY_OF_MONTH
- Useful constant for date and time.
-
DAY_OF_WEEK
- Useful constant for date and time.
-
DAY_OF_WEEK_IN_MONTH
- Useful constant for date and time.
-
DAY_OF_YEAR
- Useful constant for date and time.
-
DECEMBER
- Useful constant for month.
-
DST_OFFSET
- Useful constant for date and time.
-
ERA
- Useful constant for date and time.
-
FEBRUARY
- Useful constant for month.
-
FIELD_COUNT
- Useful constant for date and time.
-
fields
- The time fields containing values into which the millis is computed.
-
FRIDAY
- Useful constant for days of week.
-
HOUR
- Useful constant for date and time.
-
HOUR_OF_DAY
- Useful constant for date and time.
-
isSet
- The flags which tell if a specified time field for the calendar is set.
-
isTimeSet
- The flag which indicates if the current time is set for the calendar.
-
JANUARY
- Useful constant for month.
-
JULY
- Useful constant for month.
-
JUNE
- Useful constant for month.
-
MARCH
- Useful constant for month.
-
MAY
- Useful constant for month.
-
MILLISECOND
- Useful constant for date and time.
-
MINUTE
- Useful constant for date and time.
-
MONDAY
- Useful constant for days of week.
-
MONTH
- Useful constant for date and time.
-
NOVEMBER
- Useful constant for month.
-
OCTOBER
- Useful constant for month.
-
PM
- Useful constant for hour in 12-hour clock.
-
SATURDAY
- Useful constant for days of week.
-
SECOND
- Useful constant for date and time.
-
SEPTEMBER
- Useful constant for month.
-
SUNDAY
- Useful constant for days of week.
-
THURSDAY
- Useful constant for days of week.
-
time
- The current time set for the calendar.
-
TUESDAY
- Useful constant for days of week.
-
UNDECIMBER
- Useful constant for month.
-
WEDNESDAY
- Useful constant for days of week.
-
WEEK_OF_MONTH
- Useful constant for date and time.
-
WEEK_OF_YEAR
- Useful constant for date and time.
-
YEAR
- Useful constant for date and time.
-
ZONE_OFFSET
- Useful constant for date and time.
-
Calendar()
- Constructs a Calendar with the default time zone as returned
by TimeZone.getDefault(), and the default locale.
-
Calendar(TimeZone, Locale)
- Constructs a Calendar with the given time zone and locale.
-
add(int, int)
- Date Arithmetic function.
-
after(Object)
- Compares the time field records.
-
before(Object)
- Compares the time field records.
-
clear()
- Clears the values of all the time fields.
-
clear(int)
- Clears the value in the given time field.
-
clone()
- Overrides Cloneable
-
complete()
- Fills in any unset fields in the time field list.
-
computeFields()
- Converts UTC as milliseconds to time field values.
-
computeTime()
- Converts Calendar's time field values to UTC as milliseconds.
-
equals(Object)
- Compares the time field records.
-
get(int)
- Gets the value for a given time field.
-
getAvailableLocales()
- Gets the set of locales for which Calendars are installed.
-
getFirstDayOfWeek()
- Gets what the first day of the week is; e.g., Sunday in US,
Monday in France.
-
getGreatestMinimum(int)
- Gets the highest minimum value for the given field if varies.
-
getInstance()
- Gets a Calendar using the default timezone and locale.
-
getInstance(Locale)
- Gets a Calendar using the default timezone and given locale.
-
getInstance(TimeZone)
- Gets a Calendar using the given timezone and default locale.
-
getInstance(TimeZone, Locale)
- Gets a Calendar using the given timezone and given locale.
-
getLeastMaximum(int)
- Gets the lowest maximum value for the given field if varies.
-
getMaximum(int)
- Gets the maximum value for the given time field.
-
getMinimalDaysInFirstWeek()
- Gets what the minimal days required in the first week of the year are;
e.g., if the first week is defined as one that contains the first day
of the first month of a year, getMinimalDaysInFirstWeek returns 1.
-
getMinimum(int)
- Gets the minimum value for the given time field.
-
getTime()
- Gets this Calendar's current time.
-
getTimeInMillis()
- Gets this Calendar's current time as a long.
-
getTimeZone()
- Gets the time zone.
-
internalGet(int)
- Gets the value for a given time field.
-
isLenient()
- Tell whether date/time interpretation is to be lenient.
-
isSet(int)
- Determines if the given time field has a value set.
-
roll(int, boolean)
- Time Field Rolling function.
-
set(int, int)
- Sets the time field with the given value.
-
set(int, int, int)
- Sets the values for the fields year, month, and date.
-
set(int, int, int, int, int)
- Sets the values for the fields year, month, date, hour, and minute.
-
set(int, int, int, int, int, int)
- Sets the values for the fields year, month, date, hour, minute,
and second.
-
setFirstDayOfWeek(int)
- Sets what the first day of the week is; e.g., Sunday in US,
Monday in France.
-
setLenient(boolean)
- Specify whether or not date/time interpretation is to be lenient.
-
setMinimalDaysInFirstWeek(int)
- Sets what the minimal days required in the first week of the year are;
For example, if the first week is defined as one that contains the first
day of the first month of a year, call the method with value 1.
-
setTime(Date)
- Sets this Calendar's current time with the given Date.
-
setTimeInMillis(long)
- Sets this Calendar's current time from the given long value.
-
setTimeZone(TimeZone)
- Sets the time zone with the given time zone value.
ERA
Properties Public Constant
ERA=int
- Useful constant for date and time. Used in time fields.
ERA is calendar specific.
YEAR
Properties Public Constant
YEAR=int
- Useful constant for date and time. Used in time fields.
MONTH
Properties Public Constant
MONTH=int
- Useful constant for date and time. Used in time fields.
WEEK_OF_YEAR
Properties Public Constant
WEEK_OF_YEAR=int
- Useful constant for date and time. Used in time fields.
WEEK_OF_MONTH
Properties Public Constant
WEEK_OF_MONTH=int
- Useful constant for date and time. Used in time fields.
DATE
Properties Public Constant
DATE=int
- Useful constant for date and time. Used in time fields.
DATE is the time field name for day-of-month.
DAY_OF_MONTH
Properties Public Constant
DAY_OF_MONTH=int
- Useful constant for date and time. Used in time fields.
This is a synonym for DATE.
DAY_OF_YEAR
Properties Public Constant
DAY_OF_YEAR=int
- Useful constant for date and time. Used in time fields.
DAY_OF_WEEK
Properties Public Constant
DAY_OF_WEEK=int
- Useful constant for date and time. Used in time fields.
DAY_OF_WEEK_IN_MONTH
Properties Public Constant
DAY_OF_WEEK_IN_MONTH=int
- Useful constant for date and time. Used in time fields.
AM_PM
Properties Public Constant
AM_PM=int
- Useful constant for date and time. Used in time fields.
HOUR
Properties Public Constant
HOUR=int
- Useful constant for date and time. Used in time fields.
HOUR is used for the 12-hour clock.
HOUR_OF_DAY
Properties Public Constant
HOUR_OF_DAY=int
- Useful constant for date and time. Used in time fields.
HOUR_OF_DAY is used for the 24-hour clock.
MINUTE
Properties Public Constant
MINUTE=int
- Useful constant for date and time. Used in time fields.
SECOND
Properties Public Constant
SECOND=int
- Useful constant for date and time. Used in time fields.
MILLISECOND
Properties Public Constant
MILLISECOND=int
- Useful constant for date and time. Used in time fields.
ZONE_OFFSET
Properties Public Constant
ZONE_OFFSET=int
- Useful constant for date and time. Used in time fields.
DST_OFFSET
Properties Public Constant
DST_OFFSET=int
- Useful constant for date and time. Used in time fields.
FIELD_COUNT
Properties Public Constant
FIELD_COUNT=int
- Useful constant for date and time.
FIELD_COUNT is used for the time field array creation.
SUNDAY
Properties Public Constant
SUNDAY=int
- Useful constant for days of week. Used in GregorianCalendar.
MONDAY
Properties Public Constant
MONDAY=int
- Useful constant for days of week. Used in GregorianCalendar.
TUESDAY
Properties Public Constant
TUESDAY=int
- Useful constant for days of week. Used in GregorianCalendar.
WEDNESDAY
Properties Public Constant
WEDNESDAY=int
- Useful constant for days of week. Used in GregorianCalendar.
THURSDAY
Properties Public Constant
THURSDAY=int
- Useful constant for days of week. Used in GregorianCalendar.
FRIDAY
Properties Public Constant
FRIDAY=int
- Useful constant for days of week. Used in GregorianCalendar.
SATURDAY
Properties Public Constant
SATURDAY=int
- Useful constant for days of week. Used in GregorianCalendar.
JANUARY
Properties Public Constant
JANUARY=int
- Useful constant for month. Used in GregorianCalendar.
Note: Calendar month is now 0-based.
FEBRUARY
Properties Public Constant
FEBRUARY=int
- Useful constant for month. Used in GregorianCalendar.
MARCH
Properties Public Constant
MARCH=int
- Useful constant for month. Used in GregorianCalendar.
APRIL
Properties Public Constant
APRIL=int
- Useful constant for month. Used in GregorianCalendar.
MAY
Properties Public Constant
MAY=int
- Useful constant for month. Used in GregorianCalendar.
JUNE
Properties Public Constant
JUNE=int
- Useful constant for month. Used in GregorianCalendar.
JULY
Properties Public Constant
JULY=int
- Useful constant for month. Used in GregorianCalendar.
AUGUST
Properties Public Constant
AUGUST=int
- Useful constant for month. Used in GregorianCalendar.
SEPTEMBER
Properties Public Constant
SEPTEMBER=int
- Useful constant for month. Used in GregorianCalendar.
OCTOBER
Properties Public Constant
OCTOBER=int
- Useful constant for month. Used in GregorianCalendar.
NOVEMBER
Properties Public Constant
NOVEMBER=int
- Useful constant for month. Used in GregorianCalendar.
DECEMBER
Properties Public Constant
DECEMBER=int
- Useful constant for month. Used in GregorianCalendar.
UNDECIMBER
Properties Public Constant
UNDECIMBER=int
- Useful constant for month. Used in GregorianCalendar.
UNDECIMBER is an artifical name. This 13th month is for lunar
calendars.
AM
Properties Public Constant
AM=int
- Useful constant for hour in 12-hour clock. Used in GregorianCalendar.
PM
Properties Public Constant
PM=int
- Useful constant for hour in 12-hour clock. Used in GregorianCalendar.
fields
Properties Inheritable
fields[]=int
- The time fields containing values into which the millis is computed.
isSet
Properties Inheritable
isSet[]=boolean
- The flags which tell if a specified time field for the calendar is set.
time
Properties Inheritable
time=long
- The current time set for the calendar.
isTimeSet
Properties Inheritable
isTimeSet=boolean
- The flag which indicates if the current time is set for the calendar.
areFieldsSet
Properties Inheritable
areFieldsSet=boolean
- The flag which tells if the time fields are set for the calendar.
Calendar
method Calendar() Inheritable
- Constructs a Calendar with the default time zone as returned
by TimeZone.getDefault(), and the default locale.
- See Also:
- getDefault
Calendar
method Calendar(zone=TimeZone, -
aLocale=Locale) Inheritable
- Constructs a Calendar with the given time zone and locale.
- Parameters:
- zone - the given time zone.
getInstance
method getInstance() returns Calendar public static protect
- Gets a Calendar using the default timezone and locale.
- Returns:
- a Calendar.
getInstance
method getInstance(zone=TimeZone) returns Calendar public static protect
- Gets a Calendar using the given timezone and default locale.
- Parameters:
- zone - the given timezone.
- Returns:
- a Calendar.
getInstance
method getInstance(aLocale=Locale) returns Calendar public static protect
- Gets a Calendar using the default timezone and given locale.
- Parameters:
- aLocale - the given locale.
- Returns:
- a Calendar.
getInstance
method getInstance(zone=TimeZone, -
aLocale=Locale) returns Calendar public static protect
- Gets a Calendar using the given timezone and given locale.
- Parameters:
- zone - the given timezone.
- aLocale - the given locale.
- Returns:
- a Calendar.
getAvailableLocales
method getAvailableLocales() returns Locale[] public static protect
- Gets the set of locales for which Calendars are installed.
- Returns:
- the set of locales for which Calendars are installed.
computeTime
method computeTime() Inheritable abstract
- Converts Calendar's time field values to UTC as milliseconds.
computeFields
method computeFields() Inheritable abstract
- Converts UTC as milliseconds to time field values.
This allows you to sync up the time field values with
a new time that is set for the calendar.
getTime
method getTime() returns Date public final
- Gets this Calendar's current time.
- Returns:
- the current time.
setTime
method setTime(date=Date) public final
- Sets this Calendar's current time with the given Date.
- Parameters:
- date - the given Date.
getTimeInMillis
method getTimeInMillis() returns long Inheritable
- Gets this Calendar's current time as a long.
- Returns:
- the current time as milliseconds from the epoch.
setTimeInMillis
method setTimeInMillis(millis=long) Inheritable
- Sets this Calendar's current time from the given long value.
- Parameters:
- date - the new time in milliseconds from the epoch.
get
method get(field=int) returns int public final
- Gets the value for a given time field.
- Parameters:
- field - the given time field.
- Returns:
- the value for the given time field.
internalGet
method internalGet(field=int) returns int Inheritable final
- Gets the value for a given time field. This is an internal
fast time field value getter for the subclasses.
- Parameters:
- field - the given time field.
- Returns:
- the value for the given time field.
set
method set(field=int, -
value=int) public final
- Sets the time field with the given value.
- Parameters:
- field - the given time field.
- value - the value to be set for the given time field.
set
method set(year=int, -
month=int, -
date=int) public final
- Sets the values for the fields year, month, and date.
- Parameters:
- year - the value used to set the YEAR time field.
- month - the value used to set the MONTH time field.
Month value is 0-based. e.g., 0 for January.
- date - the value used to set the DATE time field.
set
method set(year=int, -
month=int, -
date=int, -
hour=int, -
minute=int) public final
- Sets the values for the fields year, month, date, hour, and minute.
- Parameters:
- year - the value used to set the YEAR time field.
- month - the value used to set the MONTH time field.
Month value is 0-based. e.g., 0 for January.
- date - the value used to set the DATE time field.
- hour - the value used to set the HOUR_OF_DAY time field.
- minute - the value used to set the MINUTE time field.
set
method set(year=int, -
month=int, -
date=int, -
hour=int, -
minute=int, -
second=int) public final
- Sets the values for the fields year, month, date, hour, minute,
and second.
- Parameters:
- year - the value used to set the YEAR time field.
- month - the value used to set the MONTH time field.
Month value is 0-based. e.g., 0 for January.
- date - the value used to set the DATE time field.
- hour - the value used to set the HOUR_OF_DAY time field.
- minute - the value used to set the MINUTE time field.
- second - the value used to set the SECOND time field.
clear
method clear() public final
- Clears the values of all the time fields.
clear
method clear(field=int) public final
- Clears the value in the given time field.
- Parameters:
- field - the time field to be cleared.
isSet
method isSet(field=int) returns boolean public final
- Determines if the given time field has a value set.
- Returns:
- true if the given time field has a value set; false otherwise.
complete
method complete() Inheritable
- Fills in any unset fields in the time field list.
equals
method equals(when=Object) returns boolean public abstract
- Compares the time field records.
Equivalent to comparing result of conversion to UTC.
- Parameters:
- when - the Calendar to be compared with this Calendar.
- Returns:
- true if the current time of this Calendar is equal
to the time of Calendar when; false otherwise.
- Overrides:
- equals in class Object
before
method before(when=Object) returns boolean public abstract
- Compares the time field records.
Equivalent to comparing result of conversion to UTC.
- Parameters:
- when - the Calendar to be compared with this Calendar.
- Returns:
- true if the current time of this Calendar is before
the time of Calendar when; false otherwise.
after
method after(when=Object) returns boolean public abstract
- Compares the time field records.
Equivalent to comparing result of conversion to UTC.
- Parameters:
- when - the Calendar to be compared with this Calendar.
- Returns:
- true if the current time of this Calendar is after
the time of Calendar when; false otherwise.
add
method add(field=int, -
amount=int) public abstract
- Date Arithmetic function.
Adds the specified (signed) amount of time to the given time field,
based on the calendar's rules. For example, to subtract 5 days from
the current time of the calendar, you can achieve it by calling:
add(Calendar.DATE, -5).
- Parameters:
- field - the time field.
- amount - the amount of date or time to be added to the field.
roll
method roll(field=int, -
up=boolean) public abstract
- Time Field Rolling function.
Rolls (up/down) a single unit of time on the given time field. For
example, to roll the current date up by one day, you can achieve it
by calling:
roll(Calendar.DATE, true).
When rolling on the year or Calendar.YEAR field, it will roll the year
value in the range between 1 and the value returned by calling
getMaximum(Calendar.YEAR).
When rolling on the month or Calendar.MONTH field, other fields like
date might conflict and, need to be changed. For instance,
rolling the month on the date 01/31/96 will result in 03/02/96.
When rolling on the hour-in-day or Calendar.HOUR_OF_DAY field, it will
roll the hour value in the range between 0 and 23, which is zero-based.
- Parameters:
- field - the time field.
- up - indicates if the value of the specified time field is to be
rolled up or rolled down. Use true if rolling up, false otherwise.
setTimeZone
method setTimeZone(value=TimeZone) public
- Sets the time zone with the given time zone value.
- Parameters:
- value - the given time zone.
getTimeZone
method getTimeZone() returns TimeZone public
- Gets the time zone.
- Returns:
- the time zone object associated with this calendar.
setLenient
method setLenient(lenient=boolean) public
- Specify whether or not date/time interpretation is to be lenient. With
lenient interpretation, a date such as "February 942, 1996" will be
treated as being equivalent to the 941st day after February 1, 1996.
With strict interpretation, such dates will cause an exception to be
thrown.
- See Also:
- setLenient
isLenient
method isLenient() returns boolean public
- Tell whether date/time interpretation is to be lenient.
setFirstDayOfWeek
method setFirstDayOfWeek(value=int) public
- Sets what the first day of the week is; e.g., Sunday in US,
Monday in France.
- Parameters:
- value - the given first day of the week.
getFirstDayOfWeek
method getFirstDayOfWeek() returns int public
- Gets what the first day of the week is; e.g., Sunday in US,
Monday in France.
- Returns:
- the first day of the week.
setMinimalDaysInFirstWeek
method setMinimalDaysInFirstWeek(value=int) public
- Sets what the minimal days required in the first week of the year are;
For example, if the first week is defined as one that contains the first
day of the first month of a year, call the method with value 1. If it
must be a full week, use value 7.
- Parameters:
- value - the given minimal days required in the first week
of the year.
getMinimalDaysInFirstWeek
method getMinimalDaysInFirstWeek() returns int public
- Gets what the minimal days required in the first week of the year are;
e.g., if the first week is defined as one that contains the first day
of the first month of a year, getMinimalDaysInFirstWeek returns 1. If
the minimal days required must be a full week, getMinimalDaysInFirstWeek
returns 7.
- Returns:
- the minimal days required in the first week of the year.
getMinimum
method getMinimum(field=int) returns int public abstract
- Gets the minimum value for the given time field.
e.g., for Gregorian DAY_OF_MONTH, 1.
- Parameters:
- field - the given time field.
- Returns:
- the minimum value for the given time field.
getMaximum
method getMaximum(field=int) returns int public abstract
- Gets the maximum value for the given time field.
e.g. for Gregorian DAY_OF_MONTH, 31.
- Parameters:
- field - the given time field.
- Returns:
- the maximum value for the given time field.
getGreatestMinimum
method getGreatestMinimum(field=int) returns int public abstract
- Gets the highest minimum value for the given field if varies.
Otherwise same as getMinimum(). For Gregorian, no difference.
- Parameters:
- field - the given time field.
- Returns:
- the highest minimum value for the given time field.
getLeastMaximum
method getLeastMaximum(field=int) returns int public abstract
- Gets the lowest maximum value for the given field if varies.
Otherwise same as getMaximum(). e.g., for Gregorian DAY_OF_MONTH, 28.
- Parameters:
- field - the given time field.
- Returns:
- the lowest maximum value for the given time field.
clone
method clone() returns Object public
- Overrides Cloneable
- Overrides:
- clone in class Object
All Packages Class Hierarchy This Package Previous Next Index