Java GregorianCalendar 类



介绍

Java GregorianCalendar 类是 Calendar 的具体子类,它提供了世界上大多数地区使用的标准日历系统。以下是关于 GregorianCalendar 的重要要点:

  • 它是一个混合日历,支持儒略历和格里高利历系统,并支持单个不连续点,默认情况下,该不连续点对应于格里高利历开始使用的格里高利日期。

  • 儒略历规定每四年闰一年,而格里高利历则省略了不能被 400 整除的世纪年。

类声明

以下是java.util.GregorianCalendar类的声明:

public class GregorianCalendar
   extends Calendar

字段

以下是java.util.GregorianCalendar类的字段:

  • static int AD - 这是表示公元纪元 (Anno Domini),也称为 CE 的 ERA 字段的值。

  • static int BC - 这是表示公元纪元前 (before Christ),也称为 BCE 的 ERA 字段的值。

类构造函数

序号 构造函数和描述
1

GregorianCalendar()

这将使用默认时区和默认区域设置中的当前时间构造一个默认的 GregorianCalendar。

2

GregorianCalendar(int year, int month, int dayOfMonth)

这将使用在默认时区和默认区域设置中设置的给定日期构造一个 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。

类方法

序号 方法和描述
1 void add(int field, int amount)

此方法根据日历规则,将指定的(带符号)时间量添加到给定的日历字段。

2 boolean equals(Object obj)

此方法将此 GregorianCalendar 与指定的 Object 进行比较。

3 static GregorianCalendar from​(ZonedDateTime zdt)

此方法从 ZonedDateTime 对象获取具有默认区域设置的 GregorianCalendar 实例。

4 int getActualMaximum(int field)

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

5 int getActualMinimum(int field)

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

6 String getCalendarType()

此方法返回“gregory”作为日历类型。

7 int getGreatestMinimum(int field)

此方法返回此 GregorianCalendar 实例的给定日历字段的最高最小值。

8 Date getGregorianChange()

此方法获取格里高利历变更日期。

9 int getLeastMaximum(int field)

此方法返回此 GregorianCalendar 实例的给定日历字段的最低最大值。

10 int getMaximum(int field)

此方法返回此 GregorianCalendar 实例的给定日历字段的最大值。

11 int getMinimum(int field)

此方法返回此 GregorianCalendar 实例的给定日历字段的最小值。

12 int getWeeksInWeekYear()

此方法返回此 GregorianCalendar 表示的周年的周数。

13 int getWeekYear()

此方法返回此 GregorianCalendar 表示的周年的年份。

14 int hashCode()

此方法生成此 GregorianCalendar 对象的哈希码。

15 boolean isLeapYear(int year)

此方法确定给定年份是否为闰年。

16 boolean isWeekDateSupported()

此方法返回 true,表示此 GregorianCalendar 支持周日期。

17 void roll(int field, boolean up)

此方法在给定的时间字段上添加或减去(向上/向下)一个时间单位,而不会更改较大的字段。

18 void setGregorianChange(Date date)

此方法设置格里高利历变更日期。

19 void setWeekDate​(int weekYear, int weekOfYear, int dayOfWeek)

此方法将此 GregorianCalendar 设置为由日期说明符(weekYear、weekOfYear 和 dayOfWeek)给出的日期。

20 ZonedDateTime toZonedDateTime()

此方法将此对象转换为表示与此 GregorianCalendar 相同时间线的 ZonedDateTime。

继承的方法

此类继承自以下类的方法:

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

将两个月添加到 GregorianCalendar 实例的当前日期示例

以下示例显示了 Java GregorianCalendar add() 方法的用法。我们正在创建当前日期的 GregorianCalendar 实例,并使用add方法向其中添加 2 个月,然后打印更新后的日期。

package com.tutorialspoint;

import java.util.GregorianCalendar;

public class GregorianCalendarDemo {
   public static void main(String[] args) {

      // create a new calendar
      GregorianCalendar cal = (GregorianCalendar) GregorianCalendar.getInstance();

      // print the current date and time
      System.out.println("" + cal.getTime());

      // add 2 months 
      cal.add((GregorianCalendar.MONTH), 2);

      // print the modified date and time
      System.out.println("" + cal.getTime());
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Fri Nov 18 10:14:39 IST 2022
Wed Jan 18 10:14:39 IST 2023
广告