Java GregorianCalendar 类

Java.util 包提供了一个 GregorianCalendar 类,它是Calendar 的具体子类并提供世界上大多数人使用的标准日历系统。 GregorianCalendar 是一种混合日历,支持儒略历和公历系统,并支持单个不连续性,默认情况下对应于制定公历时的公历日期。公历和儒略历之间的唯一区别是闰年规则。儒略历每四年指定一次闰年,而公历则省略了不能被 400 整除的世纪年。

类声明

java.util.GregorianCalendar 类的声明为:

public class GregorianCalendar
  extends Calendar 

字段

序号字段和说明
1.static int AD
值表示共同纪元(Anno Domini)的 ERA 字段,也称为 CE.
2.static int BC
ERA字段的值,表示公共时代之前的时期(基督之前),也称为公元前.

类构造函数

序号构造函数和描述
1.GregorianCalendar()
使用默认时区中的当前时间和默认格式语言环境构造默认的 GregorianCalendar.
2.GregorianCalendar(intyear, intmonth,intdayOfMonth)
构造一个 GregorianCalendar在默认时区和默认区域设置中设置的给定日期.
3.GregorianCalendar(int year、int month、int dayOfMonth、int hourOfDay、int minute)
构造一个 GregorianCalendar,其中给定的日期和时间设置为默认时区和默认区域设置.
4.GregorianCalendar(int year,int month,int dayOfMonth,int hourOfDay,int minute,int second)
构造一个 GregorianCalendar,其中给定的日期和时间设置为默认时区和默认区域设置.
5.GregorianCalendar(Locale aLocale)
默认情况下根据当前时间构造一个 GregorianCalendar给定区域设置的时区.
6.GregorianCalendar(TimeZone zone)
根据给定的当前时间构造一个 GregorianCalendar具有默认格式区域设置的时区.
7.GregorianCalendar(TimeZone zone, Locale aLocale)
根据当前时间构造一个 GregorianCalendar在给定的时区和给定的语言环境中.

java.util.GregorianCalendar 方法

java.util.GregorianCalendar 类有许多方法,如下所列:

成员方法

序号方法和描述
1.void add(int field, int amount)
根据日历的规则,将指定的(有符号的)时间量添加到给定的日历字段.
2.Object clone()
创建并返回该对象的副本.
3.protected void computeFields()
将时间值(距纪元的毫秒偏移量)转换为日历字段值.
4.protected void computeTime()
将日历字段值转换为时间值(距纪元的毫秒偏移量).
5.boolean equals(Object obj)
将此 GregorianCalendar 与指定的对象进行比较.
6.static GregorianCalendar from(ZonedDateTime zdt)
从 ZonedDateTime 对象获取具有默认区域设置的 GregorianCalendar 实例.
7.int getActualMaximum(int filed)
考虑给定时间值以及 getFirstDayOfWeek、getMinimalDaysInFirstWeek、getGregorianChange 和 getTimeZone 方法的当前值,返回此日历字段可以具有的最大值.
8.

int getActualMinimum(int filed)

返回此日历字段可能具有的最小值,同时考虑给定时间值以及 getFirstDayOfWeek、getMinimalDaysInFirstWeek、getGregorianChange 和 getTimeZone 方法的当前值。

9.String getCalendarType()
返回"gregory"作为日历类型.
10.int getGreatestMinimum(int filed)
返回此 GregorianCalendar 实例的给定日历字段的最高最小值.
11.Date getGregorianChange()
获取公历更改日期.
12.int getLeastMaximum(int filed)
返回此 GregorianCalendar 实例的给定日历字段的最低最大值.
13.int getMaximum(int filed)
返回此 GregorianCalendar 实例的给定日历字段的最大值.
14.int getMinimum(int filed)
返回此 GregorianCalendar 实例的给定日历字段的最小值.
15.TimeZone getTimeZone()
获取时区.
16.int getWeeksInWeekYear()
返回此 GregorianCalendar 表示的一周中的周数.
17.int getWeekYear()
返回此 GregorianCalendar 表示的星期.
18.int hashCode()
生成此 GregorianCalendar 对象的哈希代码.
19.

boolean isLeapYear(intyear)

确定给定年份是否为闰年.

20.boolean isWeekDateSupported()
返回 true 表示此 GregorianCalendar 支持周日期.
21.void roll(int field,boolean up)
在给定时间字段上添加或减去(向上/向下)单个时间单位,而不更改较大的字段.
22.void roll(int field, int amount)
将签名金额添加到指定的日历字段,而不更改较大的字段.
23.void setGregorianChange(Date date)
设置 GregorianCalendar 更改日期.
24.void setTimeZone(TimeZone zone)
用给定的时区值设置时区.
25.void setWeekDate(int weekYear, int weekOfYear , int dayOfWeek)
将此 GregorianCalendar 设置为日期说明符 - weekYear、weekOfYear 和 dayOfWeek 指定的日期.
26.ZonedDateTime toZonedDateTime()
将此对象转换为 ZonedDateTime,表示时间线上与此 GregorianCalendar 相同的点.

继承的方法

该类继承了以下类的方法:

  • java.lang.Object
  • java.util.Calendar