- java.lang.Object
-
- java.util.Calendar
-
- 实现的所有接口
-
Serializable,Cloneable,Comparable<Calendar>
- 已知直接子类:
-
GregorianCalendar
public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>
所述Calendar类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方法calendar fields如YEAR,MONTH,DAY_OF_MONTH,HOUR,等等,以及用于操纵该日历字段,如获取的日期下个星期。 瞬间可以用毫秒值表示,该值是1970年1月1日格林威治标准时间1970年1月1日00:00:00,000(格里高利)的Epoch的偏移量。该类还提供了用于在包外实现具体日历系统的附加字段和方法。 这些字段和方法定义为
protected。与其他区域设置敏感的类一样,
Calendar提供了一个类方法getInstance,用于获取此类型的通用对象。Calendar的getInstance方法返回一个Calendar对象,其日历字段已使用当前日期和时间初始化:Calendar rightNow = Calendar.getInstance();Calendar对象可以生成实现特定语言和日历样式的日期时间格式所需的所有日历字段值(例如,日语 - 格里高利语,日语 - 繁体语)。Calendar定义某些日历字段返回的值范围及其含义。 例如,日历系统的第一个月的所有日历的值为MONTH == JANUARY。 其他值由具体子类定义,例如ERA。 有关详细信息,请参阅各个字段文档和子类文档。获取和设置日历字段值
可以通过调用
set方法来设置日历字段值。Calendar设置的任何字段值在需要计算其时间值(距Epoch的毫秒数)或日历字段的值之前不会被解释。 调用get,getTimeInMillis,getTime,add和roll涉及这样的计算。宽大
Calendar具有解释日历字段, 宽松 , 非宽松的两种模式。 当Calendar处于宽松模式时,它接受比它产生的更广泛的日历字段值。 当Calendar重新计算返回Calendar日历字段值时,get()所有日历字段进行规范化。 例如,宽松GregorianCalendar解释MONTH == JANUARY,DAY_OF_MONTH == 32如2月1日。当
Calendar处于非宽松模式时,如果其日历字段中存在任何不一致,则会抛出异常。 例如,GregorianCalendar始终生成介于1和月长之间的DAY_OF_MONTH值。 如果已设置任何超出范围的字段值,则非宽松GregorianCalendar在计算其时间或日历字段值时抛出异常。First Week
Calendar使用两个参数定义特定于语言环境的七天工作周:一周的第一天和第一周的最小天数(从1到7)。 当构造Calendar时,这些数字取自语言环境资源数据或语言环境本身。 如果指定的区域设置包含“fw”和/或“rg” Unicode extensions ,则将根据这些扩展名获取一周的第一天。 如果同时指定了“fw”和“rg”,则“fw”扩展名中的值将取代“rg”扩展名中的隐含值。 它们也可以通过设置其值的方法明确指定。设置或获取
WEEK_OF_MONTH或WEEK_OF_YEAR字段时,Calendar必须将月份或年份的第一周确定为参考点。 一个月或一年的第一周被定义为从getFirstDayOfWeek()开始并且包含该月或年的至少getMinimalDaysInFirstWeek()天的最早的七天期。 周数在第一周之前编号为......,-1,0; 周数为2,3,......跟随它。 请注意,get()返回的规范化编号可能不同。 例如,特定的Calendar子类可以将一年的第1周之前的一周指定为前一年的第n周。日历字段分辨率
从日历字段计算日期和时间时,可能没有足够的信息用于计算(例如只有年月和月份没有日期),或者可能存在不一致的信息(例如1996年7月15日星期二(格里高利) ) - 1996年7月15日实际上是星期一)。Calendar将解析日历字段值以按以下方式确定日期和时间。If there is any conflict in calendar field values,
Calendargives priorities to calendar fields that have been set more recently.以下是日历字段的默认组合。 将使用由最近设置的单个字段确定的最新组合。
For the time of day fields :YEAR + MONTH + DAY_OF_MONTH YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK YEAR + DAY_OF_YEAR YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
HOUR_OF_DAY AM_PM + HOUR
如果有任何日历字段的值未在所选字段组合中设置,则
Calendar将使用其默认值。 每个字段的默认值可能因具体的日历系统而异。 例如,在GregorianCalendar,一个字段的默认值是相同的时代的开始:即YEAR = 1970,MONTH = JANUARY,DAY_OF_MONTH = 1,等等。注意:某些奇异时间的解释存在某些可能的含糊之处,可通过以下方式解决:
- 23:59是一天中的最后一分钟,00:00是第二天的第一分钟。 因此,1999年12月31日23:59 <2000年1月1日00:00 <00:01,2000年1月1日。
- 虽然历史上不准确,午夜也属于“上午”,中午属于“下午”,所以在同一天,凌晨12:00(午夜)<12:01 am,中午12:00(中午)<12 :01 pm
日期或时间格式字符串不是日历定义的一部分,因为用户必须在运行时可修改或覆盖这些字符串。 使用
DateFormat格式化日期。野外操纵
:日历字段可以用三种方法来改变set(),add()和roll()。set(f, value)改变日历字段f至value。 此外,它设置内部成员变量以指示日历字段f已更改。 尽管日历字段f立即更改,以毫秒为单位日历的时间值不重新计算,直到下一次调用get(),getTime(),getTimeInMillis(),add(),或roll()而成。 因此,对set()多次调用不会触发多次不必要的计算。 作为使用set()更改日历字段的结果,其他日历字段也可能会更改,具体取决于日历字段,日历字段值和日历系统。 此外,get(f)不一定返回value通过电话设置到set方法日历字段已重新计算后。 具体情况由具体的日历类决定。例如 :考虑
GregorianCalendar最初被设置为1999调用8月31日,set(Calendar.MONTH, Calendar.SEPTEMBER)集日至9月31日,1999年这是一个临时的内部表示解析为1999年10月1日,如果getTime(),然后调用。 但是,在调用set(Calendar.DAY_OF_MONTH, 30)之前调用getTime()将日期设置为1999年9月30日,因为在set()之后没有重新计算。add(f, delta)增加delta到现场f。 这相当于通过两次调整调用set(f, get(f) + delta):Add rule 1. The value of field
fafter the call minus the value of fieldfbefore the call isdelta, modulo any overflow that has occurred in fieldf. Overflow occurs when a field value exceeds its range and, as a result, the next larger field is incremented or decremented and the field value is adjusted back into its range.Add rule 2. If a smaller field is expected to be invariant, but it is impossible for it to be equal to its prior value because of changes in its minimum or maximum after field
fis changed or other constraints, such as time zone offset changes, then its value is adjusted to be as close as possible to its expected value. A smaller field represents a smaller unit of time.HOURis a smaller field thanDAY_OF_MONTH. No adjustment is made to smaller fields that are not expected to be invariant. The calendar system determines what fields are expected to be invariant.此外,与
set()不同,add()强制立即重新计算日历的毫秒数和所有字段。例如 :考虑
GregorianCalendar最初被设置为1999调用8月31日,add(Calendar.MONTH, 13)集日历9月30日,2000年添加规则1套MONTH场至九月,因为加入13个月月给明年九月。 由于DAY_OF_MONTH不能在9月份的GregorianCalendar,因此添加规则2将DAY_OF_MONTH设置为最接近的可能值。 虽然它是一个较小的字段,DAY_OF_WEEK规则2没有对DAY_OF_WEEK进行调整,因为当月份在GregorianCalendar发生变化时,预计会发生变化。roll(f, delta)增加delta到现场f不更改更大的字段。 这相当于通过以下调整调用add(f, delta):Roll rule. Larger fields are unchanged after the call. A larger field represents a larger unit of time.
DAY_OF_MONTHis a larger field thanHOUR.示例 :请参阅
GregorianCalendar.roll(int, int)。使用模式 。 要激发
add()和roll()的行为,请考虑具有月,日和年的递增和递减按钮以及基础GregorianCalendar的用户界面组件。 如果界面读取1999年1月31日并且用户按下月份增量按钮,它应该读取什么? 如果底层实现使用set(),它可能会读到1999年3月3日。更好的结果将是1999年2月28日。此外,如果用户再次按月增量按钮,它应该是1999年3月31日,而不是1999年3月28日。通过保存原始日期并使用add()或roll(),取决于是否应该影响更大的字段,用户界面可以像大多数用户直观期望的那样运行。- 从以下版本开始:
- 1.1
- 另请参见:
-
System.currentTimeMillis(),Date,GregorianCalendar,TimeZone,DateFormat, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static classCalendar.BuilderCalendar.Builder用于从各种日期时间参数创建Calendar。
-
字段汇总
字段 变量和类型 字段 描述 static intALL_STYLESgetDisplayNames的样式说明符,指示所有样式中的名称,例如“January”和“Jan”。static intAMAM_PM字段的值,表示从午夜到正午之前的一天的时段。static intAM_PMget和set字段编号表示HOUR是在中午之前还是之后。static intAPRILMONTH字段的值,表示格里高利和朱利安日历中一年中的第四个月。protected booleanareFieldsSet如果fields[]与当前设置的时间同步,fields[]True。static intAUGUSTMONTH字段的值,表示格里高利和朱利安日历中一年中的第八个月。static intDATEget和set字段编号表示当月的日期。static intDAY_OF_MONTHget和set字段编号表示当月的日期。static intDAY_OF_WEEK字段编号为get和set表示星期几。static intDAY_OF_WEEK_IN_MONTHget和set字段编号,表示当前月份中某一天的序号。static intDAY_OF_YEARget和set字段编号表示当年的日期编号。static intDECEMBERMONTH字段的值,表示格里高利和朱利安日历中的一年中的第十二个月。static intDST_OFFSETget和set字段编号,指示夏令时偏移量(以毫秒为单位)。static intERAget和set字段编号表示时代,例如Julian日历中的AD或BC。static intFEBRUARYMONTH字段的值,表示格里高利和朱利安日历中一年中的第二个月。static intFIELD_COUNTget和set识别的不同字段的数量。protected int[]字段此日历的当前设置时间的日历字段值。static intFRIDAYDAY_OF_WEEK字段的值表示星期五。static intHOURget和set字段编号表示上午或下午的小时。static intHOUR_OF_DAYget和set字段编号表示当天的小时。protected boolean[]isSet用于指示是否设置了日历的指定日历字段的标志。protected booleanisTimeSet如果那么time的值有效time真。static intJANUARYMONTH字段的值,表示Gregorian和Julian日历中一年中的第一个月。static intJULYMONTH字段的值,表示格里高利和朱利安日历中一年中的第七个月。static intJUNEMONTH字段的值,表示格里高利和朱利安日历中的第六个月。static intLONGstatic intLONG_FORMATstatic intLONG_STANDALONEstatic intMARCHMONTH字段的值,表示格里高利和朱利安日历中一年中的第三个月。static intMAYMONTH字段的值,表示Gregorian和Julian日历中一年中的第五个月。static intMILLISECONDget和set字段编号表示秒内的毫秒数。static intMINUTEget和set字段编号表示小时内的分钟。static intMONDAYDAY_OF_WEEK字段的值表示星期一。static intMONTHget和set字段编号表示月份。static intNARROW_FORMATstatic intNARROW_STANDALONEstatic intNOVEMBERMONTH字段的值,表示格里高利和朱利安日历中一年中的第11个月。static intOCTOBERMONTH字段的值,表示格里高利和朱利安日历中一年中的第十个月。static intPMAM_PM字段的值,表示从中午到午夜之前的一天的时段。static intSATURDAY表示星期六的DAY_OF_WEEK字段的值。static intSECONDget和set字段编号表示分钟内的第二个。static intSEPTEMBERMONTH字段的值,表示格里高利和朱利安日历中一年中的第九个月。static intSHORTstatic intSHORT_FORMATstatic intSHORT_STANDALONEstatic intSUNDAY表示星期日的DAY_OF_WEEK字段的值。static intTHURSDAYDAY_OF_WEEK字段的值表示星期四。protected longtime此日历的当前设置时间,以1970年1月1日格林威治标准时间0:00:00之后的毫秒数表示。static intTUESDAY表示星期二的DAY_OF_WEEK字段的值。static intUNDECIMBERMONTH字段的值,表示一年中的第13个月。static intWEDNESDAYDAY_OF_WEEK字段的值表示星期三。static intWEEK_OF_MONTHget和set字段编号,getset的周数。static intWEEK_OF_YEARget和set字段编号表示当前年份的周数。static intYEAR字段编号为get和set表示年份。static intZONE_OFFSETget和set字段编号,表示与GMT的原始偏移(以毫秒为单位)。
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 abstract voidadd(int field, int amount)根据日历的规则,将指定的时间量添加或减去给定的日历字段。booleanafter(Object when)返回此Calendar是否表示指定的Object表示的时间之后的时间。booleanbefore(Object when)返回此Calendar是否表示指定的Object代表的时间之前的时间。voidclear()设置此Calendar未定义的所有日历字段值和时间值(距离 Epoch的毫秒偏移量)。voidclear(int field)设置此Calendar未定义的给定日历字段值和时间值(距离 Epoch的毫秒偏移量)。Objectclone()创建并返回此对象的副本。intcompareTo(Calendar anotherCalendar)比较两个Calendar对象表示的时间值(从 Epoch开始的毫秒偏移)。protected voidcomplete()填写日历字段中的任何未设置字段。protected abstract voidcomputeFields()protected abstract voidcomputeTime()booleanequals(Object obj)将此Calendar与指定的Object。intget(int field)返回给定日历字段的值。intgetActualMaximum(int field)给定此Calendar的时间值,返回指定日历字段可能具有的Calendar。intgetActualMinimum(int field)给定此Calendar的时间值,返回指定日历字段可能具有的Calendar。static Set<String>getAvailableCalendarTypes()返回不可修改的Set其中包含运行时环境中Calendar支持的所有日历类型。static Locale[]getAvailableLocales()返回所有语言环境的数组,getInstance方法可以getInstance返回本地化实例。StringgetCalendarType()返回此Calendar的日历类型。StringgetDisplayName(int field, int style, Locale locale)返回给定style和locale日历字段值的字符串表示locale。Map<String,Integer>getDisplayNames(int field, int style, Locale locale)返回Map其中包含给定style和locale日历字段所有名称及其对应的字段值。intgetFirstDayOfWeek()得到一周的第一天是什么; 例如,SUNDAY在美国,MONDAY在法国。abstract intgetGreatestMinimum(int field)返回此Calendar实例的给定日历字段的最高最小值。static CalendargetInstance()使用默认时区和区域设置获取日历。static CalendargetInstance(Locale aLocale)使用默认时区和指定的区域设置获取日历。static CalendargetInstance(TimeZone zone)使用指定的时区和默认语言环境获取日历。static CalendargetInstance(TimeZone zone, Locale aLocale)获取具有指定时区和区域设置的日历。abstract intgetLeastMaximum(int field)返回此Calendar实例的给定日历字段的最小最大值。abstract intgetMaximum(int field)返回此Calendar实例的给定日历字段的Calendar。intgetMinimalDaysInFirstWeek()获取一年中第一周所需的最小天数; 例如,如果第一周被定义为包含一年中第一个月的第一天的那一周,则该方法返回1。abstract intgetMinimum(int field)返回此Calendar实例的给定日历字段的Calendar。DategetTime()longgetTimeInMillis()以毫秒为单位返回此Calendar的时间值。TimeZonegetTimeZone()获取时区。intgetWeeksInWeekYear()返回此Calendar表示的周中的周Calendar。intgetWeekYear()返回此Calendar表示的Calendar。inthashCode()返回此日历的哈希码。protected intinternalGet(int field)返回给定日历字段的值。booleanisLenient()告诉日期/时间解释是否宽松。booleanisSet(int field)确定给定的日历字段是否具有值集,包括由get方法调用触发的内部字段计算设置的值的情况。booleanisWeekDateSupported()返回此Calendar是否支持周日期。abstract voidroll(int field, boolean up)在给定时间字段上添加或减去(向上/向下)单个时间单位而不更改更大的字段。voidroll(int field, int amount)将指定的(已签名)金额添加到指定的日历字段,而不更改更大的字段。voidset(int field, int value)将给定的日历字段设置为给定值。voidset(int year, int month, int date)设置日历字段的值YEAR,MONTH和DAY_OF_MONTH。voidset(int year, int month, int date, int hourOfDay, int minute)设置日历字段的值YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY和MINUTE。voidset(int year, int month, int date, int hourOfDay, int minute, int second)设置字段中的值YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY,MINUTE和SECOND。voidsetFirstDayOfWeek(int value)设定一周的第一天是什么; 例如,SUNDAY在美国,MONDAY在法国。voidsetLenient(boolean lenient)指定日期/时间解释是否宽松。voidsetMinimalDaysInFirstWeek(int value)设定一年中第一周所需的最小天数; 例如,如果第一周定义为包含一年中第一个月的第一天的那一周,则使用值1调用此方法。voidsetTime(Date date)使用给定的Date设置此日历的时间。voidsetTimeInMillis(long millis)从给定的long值设置此Calendar的当前时间。voidsetTimeZone(TimeZone value)使用给定的时区值设置时区。voidsetWeekDate(int weekYear, int weekOfYear, int dayOfWeek)使用给定的日期说明符设置此Calendar的日期 - 星期年,星期几和星期几。InstanttoInstant()将此对象转换为Instant。StringtoString()返回此日历的字符串表示形式。
-
-
-
字段详细信息
-
ERA
public static final int ERA
get和set字段编号表示时代,例如Julian日历中的AD或BC。 这是特定于日历的值; 请参阅子类文档。- 另请参见:
-
GregorianCalendar.AD,GregorianCalendar.BC, 常数字段值
-
YEAR
public static final int YEAR
get和set字段编号表示年份。 这是特定于日历的值; 请参阅子类文档。- 另请参见:
- 常数字段值
-
MONTH
public static final int MONTH
get和set字段编号表示月份。 这是特定于日历的值。 格里高利和朱利安日历中的第一个月是JANUARY,即0; 最后一个取决于一年中的月数。
-
WEEK_OF_YEAR
public static final int WEEK_OF_YEAR
get和set字段编号表示当年的周数。 由getFirstDayOfWeek()和getMinimalDaysInFirstWeek()定义的一年中的第一周具有值1.子类定义在一年的第一周之前的天数WEEK_OF_YEAR的值。
-
WEEK_OF_MONTH
public static final int WEEK_OF_MONTH
get和set字段编号表示get的周数。 由getFirstDayOfWeek()和getMinimalDaysInFirstWeek()定义的月份的第一周具有值1.子类定义在该月的第一周之前的天数的值WEEK_OF_MONTH。
-
DATE
public static final int DATE
get和set字段编号表示当月的日期。 这是DAY_OF_MONTH的同义词。 该月的第一天的价值为1。- 另请参见:
-
DAY_OF_MONTH, 常数字段值
-
DAY_OF_MONTH
public static final int DAY_OF_MONTH
get和set字段编号表示当月的日期。 这是DATE的同义词。 该月的第一天的价值为1。
-
DAY_OF_YEAR
public static final int DAY_OF_YEAR
get和set字段编号表示当年的日期编号。 一年的第一天价值1。- 另请参见:
- 常数字段值
-
DAY_OF_WEEK
public static final int DAY_OF_WEEK
get和set字段编号表示星期几。 此字段值SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY和SATURDAY。
-
DAY_OF_WEEK_IN_MONTH
public static final int DAY_OF_WEEK_IN_MONTH
get和set字段编号,表示当月的星期几的序号。 与DAY_OF_WEEK字段一起,这唯一地指定一个月内的一天。 不像WEEK_OF_MONTH和WEEK_OF_YEAR,该字段的值并不取决于getFirstDayOfWeek()或getMinimalDaysInFirstWeek()。DAY_OF_MONTH 1至7始终对应DAY_OF_WEEK_IN_MONTH 1;8到14对应于DAY_OF_WEEK_IN_MONTH 2,依此类推。DAY_OF_WEEK_IN_MONTH 0表示DAY_OF_WEEK_IN_MONTH 1之前的一周。 负值从月末开始计算,因此一个月的最后一个星期日指定为DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1。 由于负值向后计数,因此它们通常在月内的对齐方式与正值不同。 例如,如果一个月有31天,则DAY_OF_WEEK_IN_MONTH -1将重叠DAY_OF_WEEK_IN_MONTH 5和4结束。- 另请参见:
-
DAY_OF_WEEK,WEEK_OF_MONTH, 常数字段值
-
AM_PM
public static final int AM_PM
get和set字段编号表示HOUR是在中午之前还是之后。 例如,在下午10:04:AM_PM是PM。
-
HOUR
public static final int HOUR
get和set字段编号表示上午或下午的小时。HOUR用于12小时制(0 - 11)。 中午和午夜由0表示,而不是由12表示。例如,在10:04:15.250 PM,HOUR为10。- 另请参见:
-
AM_PM,HOUR_OF_DAY, 常数字段值
-
HOUR_OF_DAY
public static final int HOUR_OF_DAY
get和set字段编号表示当天的小时。HOUR_OF_DAY用于24小时制。 例如,在下午10:04:HOUR_OF_DAY是22。
-
MINUTE
public static final int MINUTE
get和set字段编号表示小时内的分钟。 例如,在下午10:04:MINUTE是4。- 另请参见:
- 常数字段值
-
SECOND
public static final int SECOND
get和set字段编号表示分钟内的第二个。 例如,在下午10:04:SECOND是15。- 另请参见:
- 常数字段值
-
MILLISECOND
public static final int MILLISECOND
get和set字段编号表示秒内的毫秒数。 例如,在下午10:04:MILLISECOND是250。- 另请参见:
- 常数字段值
-
ZONE_OFFSET
public static final int ZONE_OFFSET
get和set字段编号指示GMT的原始偏移(以毫秒为单位)。如果
TimeZone实现子类支持历史GMT偏移量更改,则此字段反映此Calendar的时区的正确GMT偏移值。- 另请参见:
- 常数字段值
-
DST_OFFSET
public static final int DST_OFFSET
get和set字段编号,指示夏令时偏移量(以毫秒为单位)。如果
TimeZone实施子类支持历史夏令时时间表更改,则此字段反映此Calendar的时区的正确夏令时偏移值。- 另请参见:
- 常数字段值
-
FIELD_COUNT
public static final int FIELD_COUNT
get和set识别的不同字段数。 字段编号范围为0..FIELD_COUNT-1。- 另请参见:
- 常数字段值
-
SUNDAY
public static final int SUNDAY
表示星期日的DAY_OF_WEEK字段的值。- 另请参见:
- 常数字段值
-
MONDAY
public static final int MONDAY
DAY_OF_WEEK字段的值表示星期一。- 另请参见:
- 常数字段值
-
TUESDAY
public static final int TUESDAY
表示星期二的DAY_OF_WEEK字段的值。- 另请参见:
- 常数字段值
-
WEDNESDAY
public static final int WEDNESDAY
DAY_OF_WEEK字段的值表示星期三。- 另请参见:
- 常数字段值
-
THURSDAY
public static final int THURSDAY
DAY_OF_WEEK字段的值表示星期四。- 另请参见:
- 常数字段值
-
FRIDAY
public static final int FRIDAY
表示星期五的DAY_OF_WEEK字段的值。- 另请参见:
- 常数字段值
-
SATURDAY
public static final int SATURDAY
表示星期六的DAY_OF_WEEK字段的值。- 另请参见:
- 常数字段值
-
UNDECIMBER
public static final int UNDECIMBER
MONTH字段的值,表示一年中的第13个月。 虽然GregorianCalendar不使用此值,但是月历会这样做。- 另请参见:
- 常数字段值
-
ALL_STYLES
public static final int ALL_STYLES
getDisplayNames的样式说明符,表示所有样式的名称,例如“January”和“Jan”。- 从以下版本开始:
- 1.6
- 另请参见:
-
SHORT_FORMAT,LONG_FORMAT,SHORT_STANDALONE,LONG_STANDALONE,SHORT,LONG, 常数字段值
-
SHORT
public static final int SHORT
- 从以下版本开始:
- 1.6
- 另请参见:
-
SHORT_STANDALONE,LONG, 常数字段值
-
LONG
public static final int LONG
- 从以下版本开始:
- 1.6
- 另请参见:
-
LONG_STANDALONE,SHORT, 常数字段值
-
NARROW_FORMAT
public static final int NARROW_FORMAT
getDisplayName和getDisplayNames的样式说明符 ,指示用于格式的窄名称。 窄名称通常是单个字符串,例如星期一的“M”。- 从以下版本开始:
- 1.8
- 另请参见:
-
NARROW_STANDALONE,SHORT_FORMAT,LONG_FORMAT, 常数字段值
-
NARROW_STANDALONE
public static final int NARROW_STANDALONE
getDisplayName和getDisplayNames的样式说明符 , 独立指示窄名称。 窄名称通常是单个字符串,例如星期一的“M”。- 从以下版本开始:
- 1.8
- 另请参见:
-
NARROW_FORMAT,SHORT_STANDALONE,LONG_STANDALONE, 常数字段值
-
SHORT_FORMAT
public static final int SHORT_FORMAT
- 从以下版本开始:
- 1.8
- 另请参见:
-
SHORT_STANDALONE,LONG_FORMAT,LONG_STANDALONE, 常数字段值
-
LONG_FORMAT
public static final int LONG_FORMAT
- 从以下版本开始:
- 1.8
- 另请参见:
-
LONG_STANDALONE,SHORT_FORMAT,SHORT_STANDALONE, 常数字段值
-
SHORT_STANDALONE
public static final int SHORT_STANDALONE
- 从以下版本开始:
- 1.8
- 另请参见:
-
SHORT_FORMAT,LONG_FORMAT,LONG_STANDALONE, 常数字段值
-
LONG_STANDALONE
public static final int LONG_STANDALONE
- 从以下版本开始:
- 1.8
- 另请参见:
-
LONG_FORMAT,SHORT_FORMAT,SHORT_STANDALONE, 常数字段值
-
字段
protected int[] fields
此日历的当前设置时间的日历字段值。 这是一个FIELD_COUNT整数数组,索引值为ERA到DST_OFFSET。
-
isSet
protected boolean[] isSet
用于指示是否设置了日历的指定日历字段的标志。 新对象没有设置字段。 在第一次调用生成字段的方法之后,它们都会在此之后保持设置状态。 这是一组FIELD_COUNT布尔值,索引值为ERA到DST_OFFSET。
-
time
protected long time
此日历的当前设置时间,以1970年1月1日格林威治标准时间0:00:00之后的毫秒数表示。- 另请参见:
-
isTimeSet
-
isTimeSet
protected boolean isTimeSet
如果那么time的值有效time真。 通过更改项目field[]使时间无效。- 另请参见:
-
time
-
areFieldsSet
protected boolean areFieldsSet
如果fields[]与当前设置的时间同步,fields[]True。 如果为false,则下一次获取字段值的尝试将强制重新计算当前值time的所有字段。
-
-
构造方法详细信息
-
Calendar
protected Calendar()
使用默认时区和默认的FORMAT语言环境构造日历。- 另请参见:
-
TimeZone.getDefault()
-
-
方法详细信息
-
getInstance
public static Calendar getInstance()
- 结果
- 日历。
-
getInstance
public static Calendar getInstance(TimeZone zone)
使用指定的时区和默认语言环境获取日历。 返回的Calendar基于给定时区中的当前时间,具有默认的FORMAT语言环境。- 参数
-
zone- 要使用的时区 - 结果
- 日历。
-
getInstance
public static Calendar getInstance(TimeZone zone, Locale aLocale)
获取具有指定时区和区域设置的日历。 返回的Calendar基于给定时区中具有给定语言环境的当前时间。- 参数
-
zone- 要使用的时区 -
aLocale- 周数据的区域设置 - 结果
- 日历。
-
getAvailableLocales
public static Locale[] getAvailableLocales()
返回getInstance方法可以返回本地化实例的所有语言环境的数组。 返回的数组必须至少包含一个等于Locale.US的Locale实例。- 结果
-
一组区域设置,其本地化的
Calendar实例可用。
-
computeTime
protected abstract void computeTime()
- 另请参见:
-
complete(),computeFields()
-
computeFields
protected abstract void computeFields()
- 另请参见:
-
computeTime()
-
getTime
public final Date getTime()
- 结果
-
Date表示时间值。 - 另请参见:
-
setTime(Date),getTimeInMillis()
-
setTime
public final void setTime(Date date)
使用给定的Date设置此日历的时间。注意:使用
Date(Long.MAX_VALUE)或Date(Long.MIN_VALUE)调用setTime()可能会从get()产生不正确的字段值。- 参数
-
date- 给定日期。 - 另请参见:
-
getTime(),setTimeInMillis(long)
-
getTimeInMillis
public long getTimeInMillis()
以毫秒为单位返回此Calendar的时间值。- 结果
- 从纪元开始的当前时间为UTC毫秒。
- 另请参见:
-
getTime(),setTimeInMillis(long)
-
setTimeInMillis
public void setTimeInMillis(long millis)
从给定的long值设置此Calendar的当前时间。- 参数
-
millis- 距离纪元的UTC毫秒的新时间。 - 另请参见:
-
setTime(Date),getTimeInMillis()
-
get
public int get(int field)
返回给定日历字段的值。 在宽松模式下,所有日历字段都已标准化。 在非宽松模式下,所有日历字段都经过验证,如果任何日历字段具有超出范围的值,则此方法将引发异常。 规范化和验证由complete()方法处理,该方法依赖于日历系统。- 参数
-
字段- 给定的日历字段。 - 结果
- 给定日历字段的值。
- 异常
-
ArrayIndexOutOfBoundsException- 如果指定的字段超出范围(field < 0 || field >= FIELD_COUNT)。 - 另请参见:
-
set(int,int),complete()
-
internalGet
protected final int internalGet(int field)
返回给定日历字段的值。 该方法不涉及字段值的标准化或验证。- 参数
-
字段- 给定的日历字段。 - 结果
- 给定日历字段的值。
- 另请参见:
-
get(int)
-
set
public void set(int field, int value)将给定的日历字段设置为给定值。 无论宽大模式如何,此方法都不会解释该值。- 参数
-
字段- 给定的日历字段。 -
value- 要为给定日历字段设置的值。 - 异常
-
ArrayIndexOutOfBoundsException- 如果指定的字段超出范围(field < 0 || field >= FIELD_COUNT)。 在非宽松模式。 - 另请参见:
-
set(int,int,int),set(int,int,int,int,int),set(int,int,int,int,int,int),get(int)
-
set
public final void set(int year, int month, int date)- 参数
-
year- 用于设置YEAR日历字段的值。 -
month- 用于设置MONTH日历字段的值。 月值基于0。 例如,0表示1月份。 -
date- 用于设置DAY_OF_MONTH日历字段的值。 - 另请参见:
-
set(int,int),set(int,int,int,int,int),set(int,int,int,int,int,int)
-
set
public final void set(int year, int month, int date, int hourOfDay, int minute)- 参数
-
year- 用于设置YEAR日历字段的值。 -
month- 用于设置MONTH日历字段的值。 月值基于0。 例如,0表示1月份。 -
date- 用于设置DAY_OF_MONTH日历字段的值。 -
hourOfDay- 用于设置HOUR_OF_DAY日历字段的值。 -
minute- 用于设置MINUTE日历字段的值。 - 另请参见:
-
set(int,int),set(int,int,int),set(int,int,int,int,int,int)
-
set
public final void set(int year, int month, int date, int hourOfDay, int minute, int second)- 参数
-
year- 用于设置YEAR日历字段的值。 -
month- 用于设置MONTH日历字段的值。 月值基于0。 例如,0表示1月份。 -
date- 用于设置DAY_OF_MONTH日历字段的值。 -
hourOfDay- 用于设置HOUR_OF_DAY日历字段的值。 -
minute- 用于设置MINUTE日历字段的值。 -
second- 用于设置SECOND日历字段的值。 - 另请参见:
-
set(int,int),set(int,int,int),set(int,int,int,int,int)
-
clear
public final void clear()
设置此Calendar未定义的所有日历字段值和时间值(与Epoch的毫秒偏移量)。 这意味着isSet()将为所有日历字段返回false,日期和时间计算将字段视为从未设置过。Calendar实现类可以使用其特定的默认字段值进行日期/时间计算。 例如,如果YEAR字段值未定义,则GregorianCalendar使用1970。- 另请参见:
-
clear(int)
-
clear
public final void clear(int field)
设置此Calendarundefined的给定日历字段值和时间值(距离Epoch的毫秒偏移量)。 这意味着isSet(field)将返回false,并且日期和时间计算将该字段视为从未设置过。Calendar实现类可以使用字段的特定默认值进行日期和时间计算。的
HOUR_OF_DAY,HOUR和AM_PM字段独立地处理,并且the resolution rule for the time of day被应用。 清除其中一个字段不会重置此Calendar的小时值。 使用set(Calendar.HOUR_OF_DAY, 0)重置小时值。- 参数
-
字段- 要清除的日历字段。 - 另请参见:
-
clear()
-
isSet
public final boolean isSet(int field)
确定给定的日历字段是否具有值集,包括由get方法调用触发的内部字段计算设置的值的情况。- 参数
-
字段- 要测试的日历字段 - 结果
-
true如果给定的日历字段具有值集; 否则为false。
-
getDisplayName
public String getDisplayName(int field, int style, Locale locale)
返回给定style和locale日历字段值的字符串表示locale。 如果没有适用的字符串表示,则返回null。 如果字符串表示适用于给定日历字段则此方法调用get(field)以获取日历字段值。例如,如果此
Calendar是GregorianCalendar且其日期是2005-01-01,那么MONTH字段的字符串表示形式将是英语区域设置中的长样式中的“1月”或短样式中的“Jan”。 但是,DAY_OF_MONTH字段没有可用的字符串表示形式,此方法将返回null。默认实现支持其中的日历字段
DateFormatSymbols在给定的名字locale。- 参数
-
字段- 返回字符串表示形式的日历字段 -
style- 应用于字符串表示的样式; 之一SHORT_FORMAT(SHORT),SHORT_STANDALONE,LONG_FORMAT(LONG),LONG_STANDALONE,NARROW_FORMAT,或NARROW_STANDALONE。 -
locale- 字符串表示的语言环境(由locale指定的任何日历类型都将被忽略) - 结果
-
给定
字段中给定style字符串表示style,如果没有适用的字符串表示style,null。 - 异常
-
IllegalArgumentException- 如果字段或style无效,或者此Calendar不宽松且任何日历字段具有无效值 -
NullPointerException- 如果locale为空 - 从以下版本开始:
- 1.6
-
getDisplayNames
public Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
返回Map其中包含给定style和locale日历字段所有名称及其对应的字段值。 例如,如果此Calendar是GregorianCalendar,则返回的地图将包含“Jan”到JANUARY,“Feb”到FEBRUARY,依此类推,在英语语言环境中的short样式中。由于使用单个字符,缩小的名称可能不是唯一的,例如星期日和星期六的“S”。 在这种情况下,缩小的名称不包括在返回的
Map。可以考虑其他日历字段的值以确定一组显示名称。 例如,如果此
Calendar是阴阳历系统并且YEAR字段给出的年份值具有闰月,则此方法将返回包含闰月名称的月份名称,并且月份名称将映射到特定于年份的月份名称。默认实现支持
DateFormatSymbols中包含的显示名称。 例如,如果字段是MONTH并且style是ALL_STYLES,则此方法返回Map其中包含由DateFormatSymbols.getShortMonths()和DateFormatSymbols.getMonths()返回的所有字符串。- 参数
-
字段- 返回显示名称的日历字段 -
style- 应用于字符串表示的样式; 之一SHORT_FORMAT(SHORT),SHORT_STANDALONE,LONG_FORMAT(LONG),LONG_STANDALONE,NARROW_FORMAT,或NARROW_STANDALONE -
locale- 显示名称的语言环境 - 结果
-
一个
Map包含在所有显示名称style和locale和它们的字段值,或null如果没有显示名称为定义字段 - 异常
-
IllegalArgumentException- 如果字段或style无效,或者此Calendar不宽松且任何日历字段具有无效值 -
NullPointerException- 如果locale为空 - 从以下版本开始:
- 1.6
-
complete
protected void complete()
填写日历字段中的任何未设置字段。 首先,如果尚未根据日历字段值计算时间值(距离Epoch的毫秒偏移量),则调用computeTime()方法。 然后,调用computeFields()方法来计算所有日历字段值。
-
getAvailableCalendarTypes
public static Set<String> getAvailableCalendarTypes()
返回不可修改的Set其中包含运行时环境中Calendar支持的所有日历类型。 可用的日历类型可用于Unicode locale extensions 。 返回的Set包含至少"gregory"。 日历类型不包含别名,例如"gregorian"("gregory"。- 结果
-
包含所有可用日历类型的不可修改的
Set - 从以下版本开始:
- 1.8
- 另请参见:
-
getCalendarType(),Calendar.Builder.setCalendarType(String),Locale.getUnicodeLocaleType(String)
-
getCalendarType
public String getCalendarType()
返回此Calendar的日历类型。 日历类型由Unicode区域设置数据标记语言(LDML)规范定义。此方法的默认实现返回此
Calendar实例的类名。 实现LDML定义的日历系统的任何子类都应覆盖此方法以返回适当的日历类型。- 结果
-
LDML定义的日历类型或此
Calendar实例的类名 - 从以下版本开始:
- 1.8
- 另请参见:
-
Locale extensions ,
Locale.Builder.setLocale(Locale),Locale.Builder.setUnicodeLocaleKeyword(String, String)
-
equals
public boolean equals(Object obj)
将此Calendar与指定的Object。 当且仅当参数是同一日历系统的Calendar对象时,结果为true,该对象表示与此对象相同的Calendar参数下的相同时间值(距离Epoch的毫秒偏移)。的
Calendar参数是由表示的值isLenient,getFirstDayOfWeek,getMinimalDaysInFirstWeek和getTimeZone方法。 如果两个Calendar之间的参数有任何差异,则此方法返回false。使用
compareTo方法仅比较时间值。- 重写:
-
equals类Object - 参数
-
obj- 要与之比较的对象。 - 结果
-
true如果此对象等于obj; 否则为false。 - 另请参见:
-
Object.hashCode(),HashMap
-
hashCode
public int hashCode()
返回此日历的哈希码。- 重写:
-
hashCode,类Object - 结果
- 此对象的哈希码值。
- 从以下版本开始:
- 1.2
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
before
public boolean before(Object when)
返回此Calendar是否表示指定的Object表示的时间之前的时间。 这种方法相当于:当且仅当compareTo(when) < 0when是Calendar实例时。 否则,该方法返回false。- 参数
-
when- 待比较的Object - 结果
-
true如果此时Calendar是由下式表示的时间之前when; 否则为false。 - 另请参见:
-
compareTo(Calendar)
-
after
public boolean after(Object when)
返回此Calendar是否表示指定的Object表示的时间之后的时间。 这种方法相当于:当且仅当compareTo(when) > 0when是Calendar实例时。 否则,该方法返回false。- 参数
-
when- 待比较的Object - 结果
-
true如果此Calendar的时间when于when表示的时间; 否则为false。 - 另请参见:
-
compareTo(Calendar)
-
compareTo
public int compareTo(Calendar anotherCalendar)
比较两个Calendar对象表示的时间值(从 Epoch开始的毫秒偏移)。- Specified by:
-
compareToin interfaceComparable<Calendar> - 参数
-
anotherCalendar- 待比较的Calendar。 - 结果
-
值
0如果由所述参数表示的时间等于由此表示的时间Calendar; 如果此Calendar的时间早于参数所代表的时间,则该值小于0; 如果此Calendar的时间在参数表示的时间之后,则值大于0。 - 异常
-
NullPointerException- 如果指定的Calendar是null。 -
IllegalArgumentException- 如果由于任何无效的日历值而无法获取指定的Calendar对象的时间值。 - 从以下版本开始:
- 1.5
-
add
public abstract void add(int field, int amount)根据日历的规则,将指定的时间量添加或减去给定的日历字段。 例如,要从日历的当前时间减去5天,您可以通过调用以下方法来实现:add(Calendar.DAY_OF_MONTH, -5)。- 参数
-
字段- 日历字段。 -
amount- 要添加到字段中的日期或时间量。 - 另请参见:
-
roll(int,int),set(int,int)
-
roll
public abstract void roll(int field, boolean up)在给定时间字段上添加或减去(向上/向下)单个时间单位而不更改更大的字段。 例如,要将当前日期提前一天,您可以通过调用以下方式实现:roll(Calendar.DATE,true)。 在年份或Calendar.YEAR字段上滚动时,它将滚动年份值,范围介于1和通过调用
getMaximum(Calendar.YEAR)返回的值之间。 在月份或Calendar.MONTH字段上滚动时,其他字段(如日期)可能会发生冲突,需要更改。 例如,在01/31/96日期滚动月份将导致02/29/96。 在小时或Calendar.HOUR_OF_DAY字段上滚动时,它将在0到23之间的范围内滚动小时值,该值从零开始。- 参数
-
字段- 时间字段。 -
up- 指示是否要汇总或滚动指定时间字段的值。 如果滚动则使用true,否则使用false。 - 另请参见:
-
add(int,int),set(int,int)
-
roll
public void roll(int field, int amount)将指定的(已签名)金额添加到指定的日历字段,而不更改更大的字段。 负数表示向下滚动。注意:
Calendar上的此默认实现仅重复调用以一个单位滚动的版本roll()。 这可能并不总是做正确的事情。 例如,如果DAY_OF_MONTH字段为31,则滚动到2月将其设置为28.此函数的GregorianCalendar版本可以解决此问题。 其他子类也应提供此功能的覆盖,以做正确的事情。- 参数
-
字段- 日历字段。 -
amount- 要添加到日历字段的签名金额。 - 从以下版本开始:
- 1.2
- 另请参见:
-
roll(int,boolean),add(int,int),set(int,int)
-
setTimeZone
public void setTimeZone(TimeZone value)
使用给定的时区值设置时区。- 参数
-
value- 给定的时区。
-
getTimeZone
public TimeZone getTimeZone()
获取时区。- 结果
- 与此日历关联的时区对象。
-
setLenient
public void setLenient(boolean lenient)
指定日期/时间解释是否宽松。 通过宽松的解释,诸如“1996年2月942”之类的日期将被视为等同于1996年2月1日之后的第941天。通过严格(非宽松)的解释,这样的日期将导致例外被抛出。 默认值是宽松的。- 参数
-
lenient-true如果要打开宽松模式;false是否要关闭。 - 另请参见:
-
isLenient(),DateFormat.setLenient(boolean)
-
isLenient
public boolean isLenient()
告诉日期/时间解释是否宽松。- 结果
-
true如果此日历的解释模式是宽松的; 否则为false。 - 另请参见:
-
setLenient(boolean)
-
setFirstDayOfWeek
public void setFirstDayOfWeek(int value)
设定一周的第一天是什么; 例如,SUNDAY在美国,MONDAY在法国。- 参数
-
value- 一周中的第一天。 - 另请参见:
-
getFirstDayOfWeek(),getMinimalDaysInFirstWeek()
-
getFirstDayOfWeek
public int getFirstDayOfWeek()
得到一周的第一天是什么; 例如,SUNDAY在美国,MONDAY在法国。- 结果
- 一周的第一天。
- 另请参见:
-
setFirstDayOfWeek(int),getMinimalDaysInFirstWeek()
-
setMinimalDaysInFirstWeek
public void setMinimalDaysInFirstWeek(int value)
设定一年中第一周所需的最小天数; 例如,如果第一周定义为包含一年中第一个月的第一天的那一周,则使用值1调用此方法。如果它必须是整周,则使用值7。- 参数
-
value- 一年中第一周所需的最短天数。 - 另请参见:
-
getMinimalDaysInFirstWeek()
-
getMinimalDaysInFirstWeek
public int getMinimalDaysInFirstWeek()
获取一年中第一周所需的最小天数; 例如,如果第一周被定义为包含一年中第一个月的第一天的那一周,则此方法返回1.如果所需的最小天数必须是整周,则此方法返回7。- 结果
- 一年中第一周所需的最少天数。
- 另请参见:
-
setMinimalDaysInFirstWeek(int)
-
isWeekDateSupported
public boolean isWeekDateSupported()
返回此Calendar是否支持周日期。此方法的默认实现返回
false。- 结果
-
true如果这个Calendar支持周日期; 否则为false。 - 从以下版本开始:
- 1.7
- 另请参见:
-
getWeekYear(),setWeekDate(int,int,int),getWeeksInWeekYear()
-
getWeekYear
public int getWeekYear()
返回此Calendar表示的Calendar。 周年与周周期同步。 first day of the first week是一周的第一天。此方法的默认实现抛出
UnsupportedOperationException。- 结果
-
这个
Calendar的这Calendar - 异常
-
UnsupportedOperationException- 如果此Calendar不支持任何周年编号。 - 从以下版本开始:
- 1.7
- 另请参见:
-
isWeekDateSupported(),getFirstDayOfWeek(),getMinimalDaysInFirstWeek()
-
setWeekDate
public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)使用给定的日期说明符设置此Calendar的日期 - 周年,星期和星期几。与
set方法不同,所有日历字段和time值都是在返回时计算的。如果
weekOfYear超出有效周的年范围内的weekYear,该weekYear个weekOfYear值在宽松模式调整,或IllegalArgumentException在非宽松的模式抛出。此方法的默认实现抛出
UnsupportedOperationException。- 参数
-
weekYear- 本周的一年 -
weekOfYear- 本周数基于weekYear -
dayOfWeek- 星期值:DAY_OF_WEEK字段的常量之一:SUNDAY,...,SATURDAY。 - 异常
-
IllegalArgumentException- 如果任何给定的日期说明符无效或任何日历字段与非宽松模式中的给定日期说明符不一致 -
UnsupportedOperationException- 如果此Calendar不支持任何周年编号。 - 从以下版本开始:
- 1.7
- 另请参见:
-
isWeekDateSupported(),getFirstDayOfWeek(),getMinimalDaysInFirstWeek()
-
getWeeksInWeekYear
public int getWeeksInWeekYear()
返回此Calendar表示的周年中的周Calendar。此方法的默认实现抛出
UnsupportedOperationException。- 结果
- 一周中的周数。
- 异常
-
UnsupportedOperationException- 如果此Calendar不支持任何周年编号。 - 从以下版本开始:
- 1.7
- 另请参见:
-
WEEK_OF_YEAR,isWeekDateSupported(),getWeekYear(),getActualMaximum(int)
-
getMinimum
public abstract int getMinimum(int field)
- 参数
-
字段- 日历字段。 - 结果
- 给定日历字段的最小值。
- 另请参见:
-
getMaximum(int),getGreatestMinimum(int),getLeastMaximum(int),getActualMinimum(int),getActualMaximum(int)
-
getMaximum
public abstract int getMaximum(int field)
- 参数
-
字段- 日历字段。 - 结果
- 给定日历字段的最大值。
- 另请参见:
-
getMinimum(int),getGreatestMinimum(int),getLeastMaximum(int),getActualMinimum(int),getActualMaximum(int)
-
getGreatestMinimum
public abstract int getGreatestMinimum(int field)
- 参数
-
字段- 日历字段。 - 结果
- 给定日历字段的最小最小值。
- 另请参见:
-
getMinimum(int),getMaximum(int),getLeastMaximum(int),getActualMinimum(int),getActualMaximum(int)
-
getLeastMaximum
public abstract int getLeastMaximum(int field)
返回此Calendar实例的给定日历字段的最小最大值。 最低最大值定义为getActualMaximum(int)为任何可能的时间值返回的最小值 。 最小值最小值取决于实例的日历系统特定参数。 例如,Calendar对于格里高利历系统返回的28DAY_OF_MONTH领域,由于28日是这个日历,二月在一个共同的一年中最短的月份的最后一天。- 参数
-
字段- 日历字段。 - 结果
- 给定日历字段的最小最大值。
- 另请参见:
-
getMinimum(int),getMaximum(int),getGreatestMinimum(int),getActualMinimum(int),getActualMaximum(int)
-
getActualMinimum
public int getActualMinimum(int field)
给定此Calendar的时间值,返回指定日历字段可能具有的Calendar。此方法的默认实现使用迭代算法来确定日历字段的实际最小值。 如果可能,子类应该使用更有效的实现来覆盖它 - 在许多情况下,它们可以简单地返回
getMinimum()。- 参数
-
字段- 日历字段 - 结果
-
此
Calendar的时间值的给定日历字段的Calendar - 从以下版本开始:
- 1.2
- 另请参见:
-
getMinimum(int),getMaximum(int),getGreatestMinimum(int),getLeastMaximum(int),getActualMaximum(int)
-
getActualMaximum
public int getActualMaximum(int field)
给定此Calendar的时间值,返回指定日历字段可能具有的Calendar。 例如,MONTH字段的实际最大值在某些年份为12,在希伯来日历系统中为其他年份的13。此方法的默认实现使用迭代算法来确定日历字段的实际最大值。 如果可能,子类应该使用更有效的实现来覆盖它。
- 参数
-
字段- 日历字段 - 结果
-
此
Calendar的时间值的给定日历字段的Calendar - 从以下版本开始:
- 1.2
- 另请参见:
-
getMinimum(int),getMaximum(int),getGreatestMinimum(int),getLeastMaximum(int),getActualMinimum(int)
-
toString
public String toString()
返回此日历的字符串表示形式。 此方法仅用于调试目的,返回字符串的格式可能因实现而异。 返回的字符串可能为空,但可能不是null。
-
-