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 |
AGRAHAYANA Agrahayana是印度一年中的第九个月。 |
int |
ASADHA Asadha是印度一年的第四个月。 |
int |
ASVINA 阿斯维那是印度年的第七个月。 |
int |
BHADRA Bhadra是印度一年的第六个月。 |
int |
CHAITRA Chaitra是印度年的第一个月。 |
int |
IE 不断为印度时代。 |
int |
JYAISTHA Jyaistha是印度年的第三个月。 |
int |
KARTIKA Kartika是印度年的第八个月。 |
int |
MAGHA 印度年的第11个月,玛哈是常量。 |
int |
PAUSA 印度一年的第10个月,Pausa经常出现。 |
int |
PHALGUNA Phalguna是印度年的第12个月。 |
int |
SRAVANA Sravana是印度的第五个月。 |
int |
VAISAKHA Vaisakha是印度一年的第二个月。 |
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'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. |
也可以看看:
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'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. |
也可以看看:
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 of MINIMUM , GREATEST_MINIMUM , LEAST_MAXIMUM , or MAXIMUM |
Returns | |
---|---|
int |
int handleGetMonthLength (int extendedYear, int month)
返回此日历系统给定扩展年的给定月份中的天数。 如果子类可以提供比日历中的默认实现更正确或更高效的实现,则子类应该重写此方法。
Parameters | |
---|---|
extendedYear |
int
|
month |
int
|
Returns | |
---|---|
int |
int handleGetYearLength (int extendedYear)
返回此日历系统的给定扩展年份中的天数。 如果子类可以提供比日历中的默认实现更正确或更高效的实现,则子类应该重写此方法。
Parameters | |
---|---|
extendedYear |
int
|
Returns | |
---|---|
int |