public class IndianCalendar 
  extends Calendar 
| java.lang.Object | ||
| ↳ | android.icu.util.Calendar | |
| ↳ | android.icu.util.IndianCalendar | |
IndianCalendar是佛陀诞生数年的GregorianCalendar的子类。 这是印度政府接受为印度国家日历的公民日历。 今天在印度最广泛使用的两种日历是Vikrama日历,其次是印度北部和Shalivahana或Saka日历,其次是南印度和马哈拉施特拉邦。 Shalivahana日历的一个变体在1957年被改革并且被规定为印度国家日历。
印度国家日历的一些细节(待实施):月份月份长度开始日期(公历)============================= ==================== 1 Chaitra 30/31 3月22日* 2 Vaisakha 4月21日3 3 Jyaistha 5月31日4 4 Asadha 6月31日22 Sravana 7月31日23 6 Bhadra 8月31日7月7日阿斯维纳30日23日8卡蒂卡30月23日9阿格拉亚奈30日22日10帕乌萨12月30日22日11日马哈1月30日21日12月23日20日闰年,夏特拉有31天,并于3月21日开始。 公历和印度国家历法的闰年在同步。 所以当它在格里历的闰年时,Chaitra有31天的时间。 年份计算在萨卡时代,从公元78年开始的0年(按公历)。 因此,例如。 格里高利日历2006年6月9日,与1968年印度国家日历中的萨卡时代Jyaistha的19日一样。
印度日历只有一个允许的时代: Saka Era 。 如果日历不处于宽松模式(请参阅setLenient ),1/1/1 Saka时代之前的日期将被拒绝,并且IllegalArgumentException 。
这个类不应该被分类。
IndianCalendar通常应该使用 getInstance(ULocale)进行实例化,其中 ULocale的标签为 "@calendar=Indian" 。
也可以看看:
| Constants | |
|---|---|
| int | AGRAHAYANAAgrahayana是印度一年中的第九个月。 | 
| int | ASADHAAsadha是印度一年的第四个月。 | 
| int | ASVINA阿斯维那是印度年的第七个月。 | 
| int | BHADRABhadra是印度一年的第六个月。 | 
| int | CHAITRAChaitra是印度年的第一个月。 | 
| int | IE不断为印度时代。 | 
| int | JYAISTHAJyaistha是印度年的第三个月。 | 
| int | KARTIKAKartika是印度年的第八个月。 | 
| int | MAGHA印度年的第11个月,玛哈是常量。 | 
| int | PAUSA印度一年的第10个月,Pausa经常出现。 | 
| int | PHALGUNAPhalguna是印度年的第12个月。 | 
| int | SRAVANASravana是印度的第五个月。 | 
| int | VAISAKHAVaisakha是印度一年的第二个月。 | 
| Inherited constants | 
|---|
|  From class  android.icu.util.Calendar  | 
| Inherited fields | 
|---|
|  From class  android.icu.util.Calendar  | 
| Public constructors | |
|---|---|
|  IndianCalendar() 构造一个  | |
|  IndianCalendar(TimeZone zone) 根据给定时区中的当前时间构造一个  | |
|  IndianCalendar(Locale aLocale) 根据给定语言环境的默认时区中的当前时间构造一个  | |
|  IndianCalendar(ULocale locale) 根据给定语言环境的默认时区中的当前时间构造  | |
|  IndianCalendar(TimeZone zone, Locale aLocale) 根据给定语言环境给定时区内的当前时间构造一个  | |
|  IndianCalendar(TimeZone zone, ULocale locale) 根据给定语言环境给定时区中的当前时间构造一个  | |
|  IndianCalendar(Date date) 构造一个  | |
|  IndianCalendar(int year, int month, int date) 构造一个  | |
|  IndianCalendar(int year, int month, int date, int hour, int minute, int second) 使用默认的  | |
| Public methods | |
|---|---|
|  String |  getType() [icu]返回此Calendar对象的日历类型名称字符串。 | 
| Protected methods | |
|---|---|
|  void |  handleComputeFields(int julianDay) 子类可以重写此方法来计算特定于每个日历系统的几个字段。 | 
|  int |  handleComputeMonthStart(int year, int month, boolean useMonth) 返回给定扩展年份中给定月份的第一天之前的Julian日数。 | 
|  int |  handleGetExtendedYear() 返回当前字段定义的扩展年份。 | 
|  int |  handleGetLimit(int field, int limitType) 用于定义不同类型限制的子类API。 | 
|  int |  handleGetMonthLength(int extendedYear, int month) 返回此日历系统给定扩展年的给定月份中的天数。 | 
|  int |  handleGetYearLength(int extendedYear) 返回此日历系统的给定扩展年份中的天数。 | 
| Inherited methods | |
|---|---|
|  From class  android.icu.util.Calendar  | |
|  From class  java.lang.Object  | |
|  From interface  java.lang.Comparable  | |
IndianCalendar ()
构造一个 IndianCalendar使用默认时区的当前时间的默认 FORMAT语言环境。
也可以看看:
IndianCalendar (TimeZone zone)
基于给定时区中的当前时间构造 IndianCalendar ,默认区域设置为 FORMAT 。
| Parameters | |
|---|---|
| zone | TimeZone: the given time zone. | 
也可以看看:
IndianCalendar (Locale aLocale)
根据给定语言环境的默认时区中的当前时间构造 IndianCalendar 。
| Parameters | |
|---|---|
| aLocale | Locale: the given locale. | 
IndianCalendar (ULocale locale)
根据给定语言环境的默认时区中的当前时间构造 IndianCalendar 。
| Parameters | |
|---|---|
| locale | ULocale: the given ulocale. | 
IndianCalendar (TimeZone zone, Locale aLocale)
基于给定语言环境给定时区内的当前时间构造 IndianCalendar 。
| Parameters | |
|---|---|
| zone | TimeZone: the given time zone. | 
| aLocale | Locale: the given locale. | 
IndianCalendar (TimeZone zone, ULocale locale)
根据给定语言环境给定时区内的当前时间构造一个 IndianCalendar 。
| Parameters | |
|---|---|
| zone | TimeZone: the given time zone. | 
| locale | ULocale: the given ulocale. | 
IndianCalendar (Date date)
构造一个 IndianCalendar用给出的日期在默认的时区设置与默认 FORMAT语言环境。
| Parameters | |
|---|---|
| date | Date: The date to which the new calendar is set. | 
也可以看看:
IndianCalendar (int year, 
                int month, 
                int date) 
     构造一个 IndianCalendar用给出的日期在默认的时区设置与默认 FORMAT语言环境。
| Parameters | |
|---|---|
| year | int: The value used to set the calendar'sYEARtime field. | 
| month | int: The value used to set the calendar'sMONTHtime field. The value is 0-based. e.g., 0 for January. | 
| date | int: The value used to set the calendar'sDATEtime field. | 
也可以看看:
IndianCalendar (int year, 
                int month, 
                int date, 
                int hour, 
                int minute, 
                int second) 
     使用默认的 FORMAT区域设置为给默认时区设置的给定日期和时间构造一个IndianCalendar。
| Parameters | |
|---|---|
| year | int: The value used to set the calendar'sYEARtime field. | 
| month | int: The value used to set the calendar'sMONTHtime field. The value is 0-based. e.g., 0 for January. | 
| date | int: The value used to set the calendar'sDATEtime field. | 
| hour | int: The value used to set the calendar'sHOUR_OF_DAYtime field. | 
| minute | int: The value used to set the calendar'sMINUTEtime field. | 
| second | int: The value used to set the calendar'sSECONDtime field. | 
也可以看看:
String getType ()
[icu]返回此Calendar对象的日历类型名称字符串。 返回的字符串是传统的ICU日历属性值,例如“gregorian”或“japanese”。
请参阅http://www.unicode.org/reports/tr35/#Key_Type_Definitions中有关语言环境ID的日历属性的type =“old type name”
| Returns | |
|---|---|
| String | legacy calendar type name string | 
void handleComputeFields (int julianDay)
子类可以重写此方法来计算特定于每个日历系统的几个字段。 这些是:
另外,子类应该计算任何子类特定的字段,即从BASE_FIELD_COUNT到getFieldCount() - 1的字段。
Calendar的默认实现实现了一个纯粹的格雷戈里日历。
| Parameters | |
|---|---|
| julianDay | int | 
int handleComputeMonthStart (int year, 
                int month, 
                boolean useMonth) 
     返回给定扩展年份中给定月份的第一天之前的Julian日数。 子类应该重写此方法来实现其日历系统。
| 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 | 
int handleGetExtendedYear ()
返回当前字段定义的扩展年份。 这将使用EXTENDED_YEAR字段或特定于日历系统的YEAR和超年字段(如ERA),具体取决于哪一组字段较新。
| Returns | |
|---|---|
| int | the extended year | 
int handleGetLimit (int field, 
                int limitType) 
     用于定义不同类型限制的子类API。 子类必须实现此方法才能返回以下字段的限制:
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 ofMINIMUM,GREATEST_MINIMUM,LEAST_MAXIMUM, orMAXIMUM | 
| Returns | |
|---|---|
| int | |
int handleGetMonthLength (int extendedYear, 
                int month) 
     返回此日历系统给定扩展年的给定月份中的天数。 如果子类可以提供比日历中的默认实现更正确或更高效的实现,则子类应该重写此方法。
| Parameters | |
|---|---|
| extendedYear | int | 
| month | int | 
| Returns | |
|---|---|
| int | |
int handleGetYearLength (int extendedYear)
返回此日历系统的给定扩展年份中的天数。 如果子类可以提供比日历中的默认实现更正确或更高效的实现,则子类应该重写此方法。
| Parameters | |
|---|---|
| extendedYear | int | 
| Returns | |
|---|---|
| int | |