IndianCalendar
public
class
IndianCalendar
extends Calendar
java.lang.Object | ||
↳ | android.icu.util.Calendar | |
↳ | android.icu.util.IndianCalendar |
IndianCalendar
is a subclass of GregorianCalendar
that numbers years since the birth of the Buddha. This is the civil calendar
which is accepted by government of India as Indian National Calendar.
The two calendars most widely used in India today are the Vikrama calendar
followed in North India and the Shalivahana or Saka calendar which is followed
in South India and Maharashtra.
A variant of the Shalivahana Calendar was reformed and standardized as the
Indian National calendar in 1957.
Some details of Indian National Calendar (to be implemented) : The Months Month Length Start date (Gregorian) ================================================= 1 Chaitra 30/31 March 22* 2 Vaisakha 31 April 21 3 Jyaistha 31 May 22 4 Asadha 31 June 22 5 Sravana 31 July 23 6 Bhadra 31 August 23 7 Asvina 30 September 23 8 Kartika 30 October 23 9 Agrahayana 30 November 22 10 Pausa 30 December 22 11 Magha 30 January 21 12 Phalguna 30 February 20 In leap years, Chaitra has 31 days and starts on March 21 instead. The leap years of Gregorian calendar and Indian National Calendar are in synchornization. So When its a leap year in Gregorian calendar then Chaitra has 31 days. The Years Years are counted in the Saka Era, which starts its year 0 in 78AD (by gregorian calendar). So for eg. 9th June 2006 by Gregorian Calendar, is same as 19th of Jyaistha in 1928 of Saka era by Indian National Calendar.
The Indian Calendar has only one allowable era: Saka Era
. If the
calendar is not in lenient mode (see setLenient
), dates before
1/1/1 Saka Era are rejected with an IllegalArgumentException
.
This class should not be subclassed.
IndianCalendar usually should be instantiated using
Calendar.getInstance(ULocale)
passing in a ULocale
with the tag "@calendar=Indian"
.
See also:
Summary
Constants | |
---|---|
int |
AGRAHAYANA
Constant for Agrahayana, the 9th month of the Indian year. |
int |
ASADHA
Constant for Asadha, the 4th month of the Indian year. |
int |
ASVINA
Constant for Asvina, the 7th month of the Indian year. |
int |
BHADRA
Constant for Bhadra, the 6th month of the Indian year. |
int |
CHAITRA
Constant for Chaitra, the 1st month of the Indian year. |
int |
IE
Constant for the Indian Era. |
int |
JYAISTHA
Constant for Jyaistha, the 3rd month of the Indian year. |
int |
KARTIKA
Constant for Kartika, the 8th month of the Indian year. |
int |
MAGHA
Constant for Magha, the 11th month of the Indian year. |
int |
PAUSA
Constant for Pausa, the 10th month of the Indian year. |
int |
PHALGUNA
Constant for Phalguna, the 12th month of the Indian year. |
int |
SRAVANA
Constant for Sravana, the 5th month of the Indian year. |
int |
VAISAKHA
Constant for Vaisakha, the 2nd month of the Indian year. |
Inherited constants |
---|
Inherited fields |
---|
Public constructors | |
---|---|
IndianCalendar()
Constructs a |
|
IndianCalendar(TimeZone zone)
Constructs a |
|
IndianCalendar(TimeZone zone, ULocale locale)
Constructs a |
|
IndianCalendar(TimeZone zone, Locale aLocale)
Constructs a |
|
IndianCalendar(ULocale locale)
Constructs a |
|
IndianCalendar(int year, int month, int date)
Constructs a |
|
IndianCalendar(int year, int month, int date, int hour, int minute, int second)
Constructs a IndianCalendar with the given date
and time set for the default time zone with the default |
|
IndianCalendar(Date date)
Constructs a |
|
IndianCalendar(Locale aLocale)
Constructs a |
Public methods | |
---|---|
String
|
getType()
[icu] Returns the calendar type name string for this Calendar object. |
Protected methods | |
---|---|
void
|
handleComputeFields(int julianDay)
Subclasses may override this method to compute several fields specific to each calendar system. |
int
|
handleComputeMonthStart(int year, int month, boolean useMonth)
Returns the Julian day number of day before the first day of the given month in the given extended year. |
int
|
handleGetExtendedYear()
Returns the extended year defined by the current fields. |
int
|
handleGetLimit(int field, int limitType)
Subclass API for defining limits of different types. |
int
|
handleGetMonthLength(int extendedYear, int month)
Returns the number of days in the given month of the given extended year of this calendar system. |
int
|
handleGetYearLength(int extendedYear)
Returns the number of days in the given extended year of this calendar system. |
Inherited methods | |
---|---|
Constants
AGRAHAYANA
public static final int AGRAHAYANA
Constant for Agrahayana, the 9th month of the Indian year.
Constant Value: 8 (0x00000008)
ASADHA
public static final int ASADHA
Constant for Asadha, the 4th month of the Indian year.
Constant Value: 3 (0x00000003)
ASVINA
public static final int ASVINA
Constant for Asvina, the 7th month of the Indian year.
Constant Value: 6 (0x00000006)
BHADRA
public static final int BHADRA
Constant for Bhadra, the 6th month of the Indian year.
Constant Value: 5 (0x00000005)
CHAITRA
public static final int CHAITRA
Constant for Chaitra, the 1st month of the Indian year.
Constant Value: 0 (0x00000000)
IE
public static final int IE
Constant for the Indian Era. This is the only allowable ERA
value for the Indian calendar.
See also:
Constant Value: 0 (0x00000000)
JYAISTHA
public static final int JYAISTHA
Constant for Jyaistha, the 3rd month of the Indian year.
Constant Value: 2 (0x00000002)
KARTIKA
public static final int KARTIKA
Constant for Kartika, the 8th month of the Indian year.
Constant Value: 7 (0x00000007)
MAGHA
public static final int MAGHA
Constant for Magha, the 11th month of the Indian year.
Constant Value: 10 (0x0000000a)
PAUSA
public static final int PAUSA
Constant for Pausa, the 10th month of the Indian year.
Constant Value: 9 (0x00000009)
PHALGUNA
public static final int PHALGUNA
Constant for Phalguna, the 12th month of the Indian year.
Constant Value: 11 (0x0000000b)
SRAVANA
public static final int SRAVANA
Constant for Sravana, the 5th month of the Indian year.
Constant Value: 4 (0x00000004)
VAISAKHA
public static final int VAISAKHA
Constant for Vaisakha, the 2nd month of the Indian year.
Constant Value: 1 (0x00000001)
Public constructors
IndianCalendar
public IndianCalendar ()
Constructs a IndianCalendar
using the current time
in the default time zone with the default FORMAT
locale.
See also:
IndianCalendar
public IndianCalendar (TimeZone zone)
Constructs a IndianCalendar
based on the current time
in the given time zone with the default FORMAT
locale.
Parameters | |
---|---|
zone |
TimeZone : the given time zone. |
See also:
IndianCalendar
public IndianCalendar (TimeZone zone, ULocale locale)
Constructs a IndianCalendar
based on the current time
in the given time zone with the given locale.
Parameters | |
---|---|
zone |
TimeZone : the given time zone. |
locale |
ULocale : the given ulocale. |
IndianCalendar
public IndianCalendar (TimeZone zone, Locale aLocale)
Constructs a IndianCalendar
based on the current time
in the given time zone with the given locale.
Parameters | |
---|---|
zone |
TimeZone : the given time zone. |
aLocale |
Locale : the given locale. |
IndianCalendar
public IndianCalendar (ULocale locale)
Constructs a IndianCalendar
based on the current time
in the default time zone with the given locale.
Parameters | |
---|---|
locale |
ULocale : the given ulocale. |
IndianCalendar
public IndianCalendar (int year, int month, int date)
Constructs a IndianCalendar
with the given date set
in the default time zone with the default FORMAT
locale.
Parameters | |
---|---|
year |
int : The value used to set the calendar's YEAR time field. |
month |
int : The value used to set the calendar's MONTH time field.
The value is 0-based. e.g., 0 for January. |
date |
int : The value used to set the calendar's DATE time field. |
See also:
IndianCalendar
public IndianCalendar (int year, int month, int date, int hour, int minute, int second)
Constructs a IndianCalendar with the given date
and time set for the default time zone with the default FORMAT
locale.
Parameters | |
---|---|
year |
int : The value used to set the calendar's YEAR time field. |
month |
int : The value used to set the calendar's MONTH time field.
The value is 0-based. e.g., 0 for January. |
date |
int : The value used to set the calendar's DATE time field. |
hour |
int : The value used to set the calendar's HOUR_OF_DAY time field. |
minute |
int : The value used to set the calendar's MINUTE time field. |
second |
int : The value used to set the calendar's SECOND time field. |
See also:
IndianCalendar
public IndianCalendar (Date date)
Constructs a IndianCalendar
with the given date set
in the default time zone with the default FORMAT
locale.
Parameters | |
---|---|
date |
Date : The date to which the new calendar is set. |
See also:
IndianCalendar
public IndianCalendar (Locale aLocale)
Constructs a IndianCalendar
based on the current time
in the default time zone with the given locale.
Parameters | |
---|---|
aLocale |
Locale : the given locale. |
Public methods
getType
public String getType ()
[icu] Returns the calendar type name string for this Calendar object. The returned string is the legacy ICU calendar attribute value, for example, "gregorian" or "japanese".
See type="old type name" for the calendar attribute of locale IDs at http://www.unicode.org/reports/tr35/#Key_Type_Definitions
Returns | |
---|---|
String |
legacy calendar type name string |
Protected methods
handleComputeFields
protected void handleComputeFields (int julianDay)
Subclasses may override this method to compute several fields specific to each calendar system. These are:
- ERA
- YEAR
- MONTH
- DAY_OF_MONTH
- DAY_OF_YEAR
- EXTENDED_YEAR
In addition, subclasses should compute any subclass-specific fields, that is, fields from BASE_FIELD_COUNT to getFieldCount() - 1.
The default implementation in Calendar
implements
a pure proleptic Gregorian calendar.
Parameters | |
---|---|
julianDay |
int |
handleComputeMonthStart
protected int handleComputeMonthStart (int year, int month, boolean useMonth)
Returns the Julian day number of day before the first day of the given month in the given extended year. Subclasses should override this method to implement their calendar system.
Parameters | |
---|---|
year |
int : the extended year |
month |
int : the zero-based month, or 0 if useMonth is false |
useMonth |
boolean : if false, compute the day before the first day of
the given year, otherwise, compute the day before the first day of
the given month |
Returns | |
---|---|
int |
the Julian day number of the day before the first day of the given month and year |
handleGetExtendedYear
protected int handleGetExtendedYear ()
Returns the extended year defined by the current fields. This will use the EXTENDED_YEAR field or the YEAR and supra-year fields (such as ERA) specific to the calendar system, depending on which set of fields is newer.
Returns | |
---|---|
int |
the extended year |
handleGetLimit
protected int handleGetLimit (int field, int limitType)
Subclass API for defining limits of different types. Subclasses must implement this method to return limits for the following fields:
ERA YEAR MONTH WEEK_OF_YEAR WEEK_OF_MONTH DAY_OF_MONTH DAY_OF_YEAR DAY_OF_WEEK_IN_MONTH YEAR_WOY EXTENDED_YEAR
Parameters | |
---|---|
field |
int : one of the above field numbers |
limitType |
int : one of MINIMUM , GREATEST_MINIMUM ,
LEAST_MAXIMUM , or MAXIMUM |
Returns | |
---|---|
int |
handleGetMonthLength
protected int handleGetMonthLength (int extendedYear, int month)
Returns the number of days in the given month of the given extended year of this calendar system. Subclasses should override this method if they can provide a more correct or more efficient implementation than the default implementation in Calendar.
Parameters | |
---|---|
extendedYear |
int |
month |
int |
Returns | |
---|---|
int |
handleGetYearLength
protected int handleGetYearLength (int extendedYear)
Returns the number of days in the given extended year of this calendar system. Subclasses should override this method if they can provide a more correct or more efficient implementation than the default implementation in Calendar.
Parameters | |
---|---|
extendedYear |
int |
Returns | |
---|---|
int |