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. | 确定给定年份是否为闰年. | |
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