GregorianCalendar
public class GregorianCalendarextends Calendar
GregorianCalendar 是 Calendar 的一个具体子类,并提供世界上大多数地方使用的标准日历系统。
从历史上看,在那些首先采用公历的国家中,1582 年 10 月 4 日(儒略历)随后是 1582 年 10 月 15 日(公历)。 这个日历正确地模拟了这一点。 在公历转换之前,GregorianCalendar 实现了儒略历。 公历和儒略历之间的唯一区别是闰年规则。 儒略历每四年指定闰年,而公历省略不能被 400 整除的世纪年。
GregorianCalendar 实现了预测的公历和儒略历。 也就是说,日期是通过无限期地向后和向前推断当前规则来计算的。 因此,GregorianCalendar 可用于所有年份以生成有意义且一致的结果。 然而,使用 GregorianCalendar 获得的日期仅在公元 4 年 3 月 1 日之后才具有历史准确度,当时采用了现代儒略历规则。 在此日期之前,闰年规则的应用不规律,而在公元前 45 年之前,儒略历甚至都不存在。
一年中的一周和一周年
为 Calendar#WEEK_OF_YEAR 字段计算的值范围为 1 到 53。日历年的第一周是从 Calendar#getFirstDayOfWeek() 开始的最早的 7 天时间段,其中至少包含该年的 Calendar#getMinimalDaysInFirstWeek() 天。 因此,它取决于 getMinimalDaysInFirstWeek()、getFirstDayOfWeek() 和 1 月 1 日的星期几的值。一年的第 1 周和下一年的第 1 周(不包括)之间的周数从 2 到 52 或 53 年(儒略-格里高利过渡所涉及的年份除外)。
getFirstDayOfWeek() 和 getMinimalDaysInFirstWeek() 值在构造 GregorianCalendar 时使用与语言环境相关的资源进行初始化。当 getFirstDayOfWeek() 为 MONDAY 且 getMinimalDaysInFirstWeek() 为 4 时,星期确定与 ISO 8601 标准兼容,这些值用于首选标准的区域设置。这些值可以通过调用 Calendar#setFirstDayOfWeek(int) 和 Calendar#setMinimalDaysInFirstWeek(int) 显式设置。
一周年与 WEEK_OF_YEAR 周期同步。第一周和最后一周(含)之间的所有周都具有相同的周年值。因此,一周年的第一天和最后一天可能具有不同的日历年值。
例如,1998 年 1 月 1 日是星期四。如果 getFirstDayOfWeek() 为 MONDAY 且 getMinimalDaysInFirstWeek() 为 4(ISO 8601 标准兼容设置),则 1998 年的第 1 周开始于 1997 年 12 月 29 日,结束于 1998 年 1 月 4 日。最后三天的周年份为 1998 年1997 日历年。但是,如果 getFirstDayOfWeek() 是 SUNDAY,则 1998 年的第 1 周从 1998 年 1 月 4 日开始,到 1998 年 1 月 10 日结束; 1998 年的前三天是 1997 年第 53 周的一部分,他们的周年是 1997 年。
每月的一周
为 WEEK_OF_MONTH 字段计算的值范围为 0 到 6。一个月的第 1 周(WEEK_OF_MONTH = 1 的天数)是该月中至少 getMinimalDaysInFirstWeek() 连续天数的最早集合,在 getFirstDayOfWeek() 之前的一天结束。 与一年的第 1 周不同,一个月的第 1 周可能短于 7 天,不需要从 getFirstDayOfWeek() 开始,并且不包括上个月的天数。 第 1 周前一个月的某天的 WEEK_OF_MONTH 为 0。
例如,如果 getFirstDayOfWeek() 是 SUNDAY,getMinimalDaysInFirstWeek() 是 4,则 1998 年 1 月的第一周是 1 月 4 日星期日到 1 月 10 日星期六。这些天的 WEEK_OF_MONTH 为 1。1 月 1 日星期四到 1 月星期六 3 的 WEEK_OF_MONTH 为 0。如果将 getMinimalDaysInFirstWeek() 更改为 3,则 1 月 1 日至 1 月 3 日的 WEEK_OF_MONTH 为 1。
默认字段值
clear 方法将日历字段设置为未定义。 如果每个日历字段的值未定义,GregorianCalendar 将使用以下默认值。
默认值不适用于上面未列出的字段。
例子:
// get the supported ids for GMT-08:00 (Pacific Standard Time) String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000); // if no ids were returned, something is wrong. get out. if (ids.length == 0)System.exit(0);// begin output System.out.println("Current Time"); // create a Pacific Standard Time time zone SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]); // set up rules for Daylight Saving Time pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000); pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000); // create a GregorianCalendar with the Pacific Daylight time zone // and the current date and time Calendar calendar = new GregorianCalendar(pdt); Date trialtime = new Date(); calendar.setTime(trialTime); // print out a bunch of interesting things System.out.println("ERA: " + calendar.get(Calendar.ERA)); System.out.println("YEAR: " + calendar.get(Calendar.YEAR)); System.out.println("MONTH: " + calendar.get(Calendar.MONTH)); System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR)); System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH)); System.out.println("DATE: " + calendar.get(Calendar.DATE)); System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH)); System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR)); System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK)); System.out.println("DAY_OF_WEEK_IN_MONTH: "+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH)); System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM)); System.out.println("HOUR: " + calendar.get(Calendar.HOUR)); System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY)); System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE)); System.out.println("SECOND: " + calendar.get(Calendar.SECOND)); System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND)); System.out.println("ZONE_OFFSET: "+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); System.out.println("DST_OFFSET: "+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));System.out.println("Current Time, with hour reset to 3"); calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override calendar.set(Calendar.HOUR, 3); System.out.println("ERA: " + calendar.get(Calendar.ERA)); System.out.println("YEAR: " + calendar.get(Calendar.YEAR)); System.out.println("MONTH: " + calendar.get(Calendar.MONTH)); System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR)); System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH)); System.out.println("DATE: " + calendar.get(Calendar.DATE)); System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH)); System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR)); System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK)); System.out.println("DAY_OF_WEEK_IN_MONTH: "+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH)); System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM)); System.out.println("HOUR: " + calendar.get(Calendar.HOUR)); System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY)); System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE)); System.out.println("SECOND: " + calendar.get(Calendar.SECOND)); System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND)); System.out.println("ZONE_OFFSET: "+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours System.out.println("DST_OFFSET: "+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours
嵌套类摘要
从类 java.util.Calendar 继承的嵌套类/接口 |
---|
Calendar.Builder |
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
指示共同时代(AnnoDomini)的ERA字段的值,也称为CE。 | ||
ERA字段的值表示普通时代(基督之前)之前的时期,也称为BCE。 |
从类 java.util.Calendar 继承的字段 |
---|
ALL_STYLES,AM,AM_PM,APRIL,areFieldsSet,AUGUST,DATE,DAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_WEEK_IN_MONTH,DAY_OF_YEAR,DECEMBER,DST_OFFSET,ERA,FEBRUARY,FIELD_COUNT,fields,FRIDAY,HOUR,HOUR_OF_DAY,isSet,isTimeSet,JANUARY,JULY,JUNE,LONG,LONG_FORMAT,LONG_STANDALONE,MARCH,MAY,MILLISECOND,MINUTE,MONDAY,MONTH,NARROW_FORMAT,NARROW_STANDALONE,NOVEMBER,OCTOBER,PM,SATURDAY,SECOND,SEPTEMBER,SHORT,SHORT_FORMAT,SHORT_STANDALONE,SUNDAY,THURSDAY,time,TUESDAY,UNDECIMBER,WEDNESDAY,WEEK_OF_MONTH,WEEK_OF_YEAR,YEAR,ZONE_OFFSET |
构造函数摘要
构造函数 | 描述 |
---|---|
GregorianCalendar() | 使用默认时区中的当前时间和默认Locale.Category#FORMAT语言环境构造默认GregorianCalendar。 |
GregorianCalendar(intyear,intmonth,intdayOfMonth) | |
GregorianCalendar(intyear,intmonth,intdayOfMonth,inthourOfDay,intminute) | |
GregorianCalendar(intyear,intmonth,intdayOfMonth,inthourOfDay,intminute,intsecond) | |
GregorianCalendar(LocaleaLocale) | 根据给定语言环境的默认时区中的当前时间构造一个GregorianCalendar。 |
GregorianCalendar(TimeZonezone) | 使用默认Locale.Category#FORMAT区域设置基于给定时区中的当前时间构造GregorianCalendar。 |
GregorianCalendar(TimeZonezone,LocaleaLocale) | 根据给定区域设置的给定时区中的当前时间构造一个GregorianCalendar。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
add(intfield,intamount) | 根据日历的规则,将指定(签名)的时间量添加到给定的日历字段。 | |
创建并返回此对象的副本。 | ||
protectedvoid | computeFields() | 将时间值(从Epoch的毫秒偏移量)转换为日历字段值。 |
protectedvoid | computeTime() | 将日历字段值转换为时间值(从Epoch开始的毫秒偏移量)。 |
equals(Objectobj) | 将此GregorianCalendar与指定的Object进行比较。 | |
staticGregorianCalendar | from(ZonedDateTimezdt) | 从ZonedDateTime对象获取具有默认语言环境的GregorianCalendar实例。 |
getActualMaximum(intfield) | 返回此日历字段可能具有的最大值,同时考虑给定的时间值和Calendar#getFirstDayOfWeek()、Calendar#getMinimalDaysInFirstWeek()、getGregorianChange和Calendar#getTimeZone()方法的当前值。 | |
getActualMinimum(intfield) | 返回此日历字段可能具有的最小值,同时考虑给定的时间值和Calendar#getFirstDayOfWeek()、Calendar#getMinimalDaysInFirstWeek()、getGregorianChange和Calendar#getTimeZone()方法的当前值。 | |
getCalendarType() | 返回“gregory”作为日历类型。 | |
getGreatestMinimum(intfield) | 返回此GregorianCalendar实例的给定日历字段的最大最小值。 | |
getGregorianChange() | ||
getLeastMaximum(intfield) | 返回此GregorianCalendar实例的给定日历字段的最低最大值。 | |
getMaximum(intfield) | 返回此GregorianCalendar实例的给定日历字段的最大值。 | |
getMinimum(intfield) | 返回此GregorianCalendar实例的给定日历字段的最小值。 | |
getTimeZone() | 获取时区。 | |
getWeeksInWeekYear() | 返回此GregorianCalendar表示的一周年中的周数。 | |
getWeekYear() | 返回此GregorianCalendar表示的周年。 | |
hashCode() | 生成此GregorianCalendar对象的哈希码。 | |
isLeapYear(intyear) | 确定给定年份是否为闰年。 | |
isWeekDateSupported() | ||
roll(intfield,booleanup) | 在给定时间字段上添加或减去(上/下)单个时间单位,而不更改更大的字段。 | |
roll(intfield,intamount) | 将签名金额添加到指定的日历字段而不更改更大的字段。 | |
setGregorianChange(Datedate) | ||
setTimeZone(TimeZonezone) | 使用给定的时区值设置时区。 | |
setWeekDate(intweekYear,intweekOfYear,intdayOfWeek) | ||
ZonedDateTime | toZonedDateTime() | 将此对象转换为ZonedDateTime,它表示时间线上与此GregorianCalendar相同的点。 |
从类 java.util.Calendar 继承的方法 |
---|
after,before,clear,clear,compareTo,complete,get,getAvailableCalendarTypes,getAvailableLocales,getdisplayName,getDisplayNames,getFirstDayOfWeek,getInstance,getInstance,getInstance,getInstance,getMinimalDaysInFirstWeek,getTime,getTimeInMillis,internalGet,isLenient,isSet,set,set,set,set,setFirstDayOfWeek,setLenient,setMinimalDaysInFirstWeek,setTime,setTimeInMillis,toInstant,toString |
从类 java.lang.Object 继承的方法 |
---|
finalize,getClass,notify,notifyAll,wait,wait,wait |
字段详细信息
public static final int AD
指示共同时代(Anno Domini)的 ERA 字段的值,也称为 CE。 从公元前到公元过渡的年份顺序是……,公元前2年,公元前1年,公元1年,公元2年,……
public static final int BC
ERA 字段的值表示普通时代(基督之前)之前的时期,也称为 BCE。 从公元前到公元过渡的年份顺序是……,公元前2年,公元前1年,公元1年,公元2年,……
构造函数详细信息
GregorianCalendar
public GregorianCalendar()
使用默认时区中的当前时间和默认 Locale.Category#FORMAT 语言环境构造默认 GregorianCalendar。
GregorianCalendar
public GregorianCalendar(TimeZone zone)
使用默认 Locale.Category#FORMAT 区域设置基于给定时区中的当前时间构造 GregorianCalendar。
参数:
参数名称 | 参数描述 |
---|---|
给定的时区。 |
GregorianCalendar
public GregorianCalendar(Locale aLocale)
根据给定语言环境的默认时区中的当前时间构造一个 GregorianCalendar。
参数:
参数名称 | 参数描述 |
---|---|
给定的语言环境。 |
GregorianCalendar
public GregorianCalendar(TimeZone zone, Locale aLocale)
根据给定区域设置的给定时区中的当前时间构造一个 GregorianCalendar。
参数:
参数名称 | 参数描述 |
---|---|
给定的时区。 | |
给定的语言环境。 |
GregorianCalendar
public GregorianCalendar(int year, int month, int dayOfMonth)
参数:
参数名称 | 参数描述 |
---|---|
用于设置日历中YEAR日历字段的值。 | |
用于设置日历中MONTH日历字段的值。月份值从0开始。例如,0表示一月。 | |
dayOfMonth | 用于设置日历中DAY_OF_MONTH日历字段的值。 |
GregorianCalendar
public GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute)
参数:
参数名称 | 参数描述 |
---|---|
用于设置日历中YEAR日历字段的值。 | |
用于设置日历中MONTH日历字段的值。月份值从0开始。例如,0表示一月。 | |
dayOfMonth | 用于设置日历中DAY_OF_MONTH日历字段的值。 |
用于设置日历中HOUR_OF_DAY日历字段的值。 | |
用于设置日历中MINUTE日历字段的值。 |
GregorianCalendar
public GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
参数:
参数名称 | 参数描述 |
---|---|
用于设置日历中YEAR日历字段的值。 | |
用于设置日历中MONTH日历字段的值。月份值从0开始。例如,0表示一月。 | |
dayOfMonth | 用于设置日历中DAY_OF_MONTH日历字段的值。 |
用于设置日历中HOUR_OF_DAY日历字段的值。 | |
用于设置日历中MINUTE日历字段的值。 | |
用于在日历中设置SECOND日历字段的值。 |
方法详情
setGregorianChange
public void setGregorianChange(Date date)
参数:
参数名称 | 参数描述 |
---|
getGregorianChange
public final Date getGregorianChange()
返回:
isLeapYear
public boolean isLeapYear(int year)
确定给定年份是否为闰年。 如果给定年份是闰年,则返回 true。 要指定 BC 年编号,必须给出 1 年编号。 例如,公元前 4 年指定为 -3。
参数:
参数名称 | 参数描述 |
---|---|
给定的年份。 |
返回:
如果给定年份是闰年,则为 true; 否则为 false。
getCalendarType
public String getCalendarType()
返回“gregory”作为日历类型。
覆盖:
类 Calendar 中的 getCalendarType
返回:
public boolean equals(Object obj)
覆盖:
等于日历类
参数:
参数名称 | 参数描述 |
---|---|
比较的对象。 |
返回:
如果此对象等于 obj,则为 true; 否则为 false。
public int hashCode()
生成此 GregorianCalendar 对象的哈希码。
覆盖:
类 Calendar 中的 hashCode
返回:
此对象的哈希码值。
public void add(int field, int amount)
根据日历的规则,将指定(签名)的时间量添加到给定的日历字段。
添加规则1。调用后的字段值减去调用前的字段值是金额,以字段中发生的任何溢出为模。 当字段值超出其范围时会发生溢出,因此,下一个较大的字段会递增或递减,并且字段值会调整回其范围内。
增加规则2,如果一个较小的字段期望是不变的,但是由于字段改变后它的最小值或最大值发生了变化,使得它不可能等于它的先前值,那么它的值被调整为尽可能接近 可能达到其预期值。 较小的字段表示较小的时间单位。 HOUR 是比 DAY_OF_MONTH 小的字段。 不对预期不会保持不变的较小字段进行任何调整。 日历系统确定哪些字段预计是不变的。
指定者:
添加日历类
参数:
参数名称 | 参数描述 |
---|---|
日历字段。 |
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果字段是ZONE_OFFSET、DST_OFFSET或未知,或者如果任何日历字段在非宽松模式下具有超出范围的值。 |
public void roll(int field, boolean up)
在给定时间字段上添加或减去(上/下)单个时间单位,而不更改更大的字段。
示例:考虑最初设置为 1999 年 12 月 31 日的 GregorianCalendar。调用 roll(Calendar.MONTH, true) 将日历设置为 1999 年 1 月 31 日。YEAR 字段未更改,因为它比 MONTH 更大。
指定者:
滚动日历类
参数:
参数名称 | 参数描述 |
---|---|
指示指定日历字段的值是向上滚动还是向下滚动。如果向上滚动则使用true,否则使用false。 | |
时间字段。 |
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果字段是ZONE_OFFSET、DST_OFFSET或未知,或者如果任何日历字段在非宽松模式下具有超出范围的值。 |
public void roll(int field, int amount)
将签名金额添加到指定的日历字段而不更改更大的字段。负滚动量意味着从字段中减去而不更改更大的字段。如果指定数量为 0,则此方法不执行任何操作。
此方法在添加金额之前调用 Calendar.complete() 以便对所有日历字段进行规范化。如果在非宽松模式下任何日历字段的值超出范围,则抛出 IllegalArgumentException。
示例:假设一个 GregorianCalendar 最初设置为 1999 年 8 月 31 日。调用 roll(Calendar.MONTH, 8) 将日历设置为 1999 年 4 月 30 日。使用 GregorianCalendar,DAY_OF_MONTH 字段在 4 月份不能为 31。 DAY_OF_MONTH 设置为最接近的可能值 30。YEAR 字段保持 1999 的值,因为它比 MONTH 更大。
示例:考虑最初设置为 1999 年 6 月 6 日星期日的 GregorianCalendar。调用 roll(Calendar.WEEK_OF_MONTH, -1) 将日历设置为 1999 年 6 月 1 日星期二,而调用 add(Calendar.WEEK_OF_MONTH, -1) 将日历设置为星期日1999 年 5 月 30 日。这是因为滚动规则施加了额外的约束:滚动 WEEK_OF_MONTH 时,MONTH 不得更改。与添加规则 1 一起,结果日期必须在 6 月 1 日星期二和 6 月 5 日星期六之间。根据添加规则 2,DAY_OF_WEEK 是更改 WEEK_OF_MONTH 时的不变量,设置为星期二,最接近星期日的可能值(其中星期日是一周的第一天)。
覆盖:
滚动日历类
参数:
参数名称 | 参数描述 |
---|---|
日历字段。 | |
要添加到字段的签名金额。 |
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果字段是ZONE_OFFSET、DST_OFFSET或未知,或者如果任何日历字段在非宽松模式下具有超出范围的值。 |
getMinimum
public int getMinimum(int field)
返回此 GregorianCalendar 实例的给定日历字段的最小值。 最小值定义为 Calendar#get(int) 方法针对任何可能的时间值返回的最小值,同时考虑到 Calendar#getFirstDayOfWeek()、Calendar#getMinimalDaysInFirstWeek()、getGregorianChange 和 Calendar#getTimeZone 的当前值 () 方法。
指定者:
日历类中的getMinimum
参数:
参数名称 | 参数描述 |
---|---|
日历字段。 |
返回:
给定日历字段的最小值。
getMaximum
public int getMaximum(int field)
返回此 GregorianCalendar 实例的给定日历字段的最大值。 最大值定义为 Calendar#get(int) 方法针对任何可能的时间值返回的最大值,同时考虑到 Calendar#getFirstDayOfWeek()、Calendar#getMinimalDaysInFirstWeek()、getGregorianChange 和 Calendar#getTimeZone 的当前值 () 方法。
指定者:
日历类中的getMaximum
参数:
参数名称 | 参数描述 |
---|---|
日历字段。 |
返回:
给定日历字段的最大值。
getGreatestMinimum
public int getGreatestMinimum(int field)
返回此 GregorianCalendar 实例的给定日历字段的最大最小值。 考虑到 Calendar#getFirstDayOfWeek()、Calendar#getMinimalDaysInFirstWeek()、getGregorianChange 和 Calendar#getTimeZone() 方法的当前值,最高最小值定义为 getActualMinimum(int) 针对任何可能的时间值返回的最大值 .
指定者:
日历类中的getGreatestMinimum
参数:
参数名称 | 参数描述 |
---|---|
日历字段。 |
返回:
给定日历字段的最高最小值。
getLeastMaximum
public int getLeastMaximum(int field)
返回此 GregorianCalendar 实例的给定日历字段的最低最大值。 考虑到 Calendar#getFirstDayOfWeek()、Calendar#getMinimalDaysInFirstWeek()、getGregorianChange 和 Calendar#getTimeZone() 方法的当前值,最低最大值定义为 getActualMaximum(int) 针对任何可能的时间值返回的最小值 .
指定者:
日历类中的getLeastMaximum
参数:
参数名称 | 参数描述 |
---|---|
日历字段 |
返回:
给定日历字段的最低最大值。
getActualMinimum
public int getActualMinimum(int field)
返回此日历字段可能具有的最小值,同时考虑给定的时间值和 Calendar#getFirstDayOfWeek()、Calendar#getMinimalDaysInFirstWeek()、getGregorianChange 和 Calendar#getTimeZone() 方法的当前值。
覆盖:
日历类中的 getActualMinimum
参数:
参数名称 | 参数描述 |
---|---|
日历字段 |
返回:
此 GregorianCalendar 的时间值的给定字段的最小值
getActualMaximum
public int getActualMaximum(int field)
此方法根据 Calendar#YEAR(日历年)值而不是周年计算 Calendar#WEEK_OF_YEAR 的最大值。 调用 getWeeksInWeekYear() 以获取此 GregorianCalendar 的周年中 WEEK_OF_YEAR 的最大值。
覆盖:
日历类中的 getActualMaximum
参数:
参数名称 | 参数描述 |
---|---|
日历字段 |
返回:
此 GregorianCalendar 的时间值的给定字段的最大值
public Object clone()
从班级复制的描述:日历
创建并返回此对象的副本。
覆盖:
在日历类中克隆
返回:
此对象的副本。
getTimeZone
public TimeZone getTimeZone()
从班级复制的描述:日历
获取时区。
覆盖:
类 Calendar 中的 getTimeZone
返回:
与此日历关联的时区对象。
setTimeZone
public void setTimeZone(TimeZone zone)
从班级复制的描述:日历
使用给定的时区值设置时区。
覆盖:
日历类中的 setTimeZone
参数:
参数名称 | 参数描述 |
---|---|
给定的时区。 |
isWeekDateSupported
public final boolean isWeekDateSupported()
覆盖:
类 Calendar 中的 isWeekDateSupported
返回:
true(总是)
getWeekYear
public int getWeekYear()
此方法在计算周年之前调用 Calendar#complete()。
覆盖:
课堂日历中的getWeekYear
返回:
此 GregorianCalendar 表示的周年。 如果 Calendar#ERA 值为 BC,则年份由 0 或负数表示:BC 1 为 0,BC 2 为 -1,BC 3 为 -2,依此类推。
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果任何日历字段在非宽松模式下无效。 |
setWeekDate
public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
请注意,数字星期几表示不同于 ISO 8601 标准,并且当 getFirstDayOfWeek() 为 MONDAY 且 getMinimalDaysInFirstWeek() 为 4 时,weekOfYear 编号与标准兼容。
与 set 方法不同,所有日历字段和时间值都是在返回时计算的。
如果 weekOfYear 超出了 weekYear 中的有效周范围,则在宽松模式下调整 weekYear 和 weekOfYear 值,或者在非宽松模式下抛出 IllegalArgumentException。
覆盖:
日历类中的 setWeekDate
参数:
参数名称 | 参数描述 |
---|---|
一周年 | |
weekOfYear | 基于weekYear的周数 |
星期几值:DAY_OF_WEEK字段的常量之一:Calendar#SUNDAY,…,Calendar#SATURDAY。 |
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException |
getWeeksInWeekYear
public int getWeeksInWeekYear()
返回此 GregorianCalendar 表示的一周年中的周数。
覆盖:
类日历中的getWeeksInWeekYear
返回:
一周中的周数。
computeFields
protected void computeFields()
将时间值(从 Epoch 的毫秒偏移量)转换为日历字段值。 时间不先重新计算; 重新计算时间,然后是字段,调用完整方法。
指定者:
日历类中的 computeFields
computeTime
protected void computeTime()
将日历字段值转换为时间值(从 Epoch 开始的毫秒偏移量)。
指定者:
日历类中的 computeTime
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果任何日历字段无效。 |
toZonedDateTime
public ZonedDateTime toZonedDateTime()
将此对象转换为 ZonedDateTime,它表示时间线上与此 GregorianCalendar 相同的点。
返回:
public static GregorianCalendar from(ZonedDateTime zdt)
从 ZonedDateTime 对象获取具有默认语言环境的 GregorianCalendar 实例。
ZoneDateTime 可以比 GregorianCalendar 在未来和过去更远地存储时间线上的点。 在这种情况下,此方法将引发 IllegalArgumentException 异常。
参数:
参数名称 | 参数描述 |
---|
返回:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果zdt为空 |
IllegalArgumentException |
御剑法宝坤元盾的使用等级是多少?
使用等级:30介绍:坤者,地也,负载万物,包罗万象。 相传鸿蒙初分,天地初开,分宝岩上结出先天异宝九九八十一件,其中就有坤元盾。 法宝技能:在一段时间内使自身的物理防御和法术防御提升其中就有坤元盾。
诛仙鸿蒙古玉用法?
大哥你想错了 等级不会变 但是属性会变的 鸿蒙古玉是洗星相 属性 其实就是说BB重生了一样 只是等级没变而已
诛仙2 怎么洗宠物技能
洗宠物技能目前有2种途径,一种是买宝库里的 鸿蒙古玉 洗,不仅可以洗技能,还可以洗宠物的星象和界限,要洗出自己理想的星象和技能投入较大,而且你的宠物星象大于4星是不能用鸿蒙古玉洗的 第二种途径是不改变宠物星象,只改变宠物技能的,但无法改变宠物技能的数量,在河阳宠物使者小孩那里买各种星象的彩票,抽奖,50金一个,可以抽到对应星象的技能玉,给宠物修炼后有一定几率得到该技能,但会顶掉原有的一个宠物技能 另外给宠物吃鸿蒙雪参可以给宠物随机增加一个技能
发表评论