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
廣告