Java中的日曆函式


java.util.Calendar 類提供了 Java 中的日曆函式。它是一個抽象類,提供在特定時間點和一組日曆欄位(如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等)之間進行轉換的方法,以及用於操作日曆欄位的方法,例如獲取下週的日期。

以下是 Java 中的日曆函式:

序號方法及描述
1abstract void add(int field, int amount)
此方法根據日曆規則,向給定的日曆欄位新增或減去指定的時間量。
2boolean after(Object when)
此方法返回此 Calendar 是否表示在指定 Object 所表示的時間之後的時間。
3boolean before(Object when)
此方法返回此 Calendar 是否表示在指定 Object 所表示的時間之前的時間。
4void clear()
此方法將此 Calendar 的所有日曆欄位值和時間值(距紀元時間的毫秒偏移量)設定為未定義。
5void clear(int field)
此方法將給定的日曆欄位值和此 Calendar 的時間值(距紀元時間的毫秒偏移量)設定為未定義。
6Object clone()
此方法建立並返回此物件的副本。
7int compareTo(Calendar anotherCalendar)
此方法比較兩個 Calendar 物件所表示的時間值(距紀元時間的毫秒偏移量)。
8protected void complete()
此方法填充日曆欄位中任何未設定的欄位。
9protected abstract void computeFields()
此方法將當前毫秒時間值 time 轉換為 fields[] 中的日曆欄位值。
10protected abstract void computeTime()
此方法將 fields[] 中的當前日曆欄位值轉換為毫秒時間值 time。
11boolean equals(Object obj)
此方法將此 Calendar 與指定的 Object 進行比較。
12int get(int field)
此方法返回給定日曆欄位的值。
13int getActualMaximum(int field)
此方法返回給定此 Calendar 的時間值時,指定日曆欄位可能具有的最大值。
14int getActualMinimum(int field)
此方法返回給定此 Calendar 的時間值時,指定日曆欄位可能具有的最小值。
15static Locale[] getAvailableLocales()
此方法返回此類的 getInstance 方法可以返回本地化例項的所有區域設定的陣列。
16String getDisplayName(int field, int style, Locale locale)
此方法返回以給定樣式和區域設定表示的日曆欄位值的字串表示形式。
17Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
此方法返回一個 Map,其中包含以給定樣式和區域設定表示的日曆欄位的所有名稱及其對應的欄位值。
18int getFirstDayOfWeek()
此方法獲取一週的第一天是什麼;例如,在美國是 SUNDAY,在法國是 MONDAY。
19abstract int getGreatestMinimum(int field)
此方法返回此 Calendar 例項的給定日曆欄位的最高最小值。
20static Calendar getInstance()
此方法使用預設時區和區域設定獲取日曆。
21static Calendar getInstance(Locale aLocale)
此方法使用預設時區和指定的區域設定獲取日曆。
22static Calendar getInstance(TimeZone zone)
此方法使用指定的時區和預設區域設定獲取日曆。
23static Calendar getInstance(TimeZone zone, Locale aLocale)
此方法使用指定的時區和區域設定獲取日曆。
24abstract int getLeastMaximum(int field)
此方法返回此 Calendar 例項的給定日曆欄位的最低最大值。
25abstract int getMaximum(int field)
此方法返回此 Calendar 例項的給定日曆欄位的最大值。
26int getMinimalDaysInFirstWeek()
此方法獲取一年中第一週所需的最小天數;例如,如果第一週定義為包含一年中第一個月的第一天的周,則此方法返回 1。
27abstract int getMinimum(int field)
此方法返回此 Calendar 例項的給定日曆欄位的最小值。
28Date getTime()
此方法返回一個 Date 物件,該物件表示此 Calendar 的時間值(距紀元時間的毫秒偏移量)。
29long getTimeInMillis()
此方法以毫秒為單位返回此 Calendar 的時間值。
30TimeZone getTimeZone()
此方法獲取時區。
31int hashCode()
此方法返回此日曆的雜湊程式碼。
32protected int internalGet(int field)
此方法返回給定日曆欄位的值。
33boolean isLenient()
此方法指示日期/時間解釋是否應寬鬆。
34boolean isSet(int field)
此方法確定給定的日曆欄位是否已設定值,包括由 get 方法呼叫觸發的內部欄位計算已設定值的情況。
35abstract void roll(int field, boolean up)
此方法在給定的時間欄位上新增或減去(向上/向下)一個時間單位,而不更改較大的欄位。
36void roll(int field, int amount)
此方法將指定(帶符號)數量新增到指定的日曆欄位,而不更改較大的欄位。
37void set(int field, int value)
此方法將給定的日曆欄位設定為給定的值。
38void set(int year, int month, int date)
此方法設定日曆欄位 YEAR、MONTH 和 DAY_OF_MONTH 的值。
39void set(int year, int month, int date, int hourOfDay, int minute)
此方法設定日曆欄位 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。
40void set(int year, int month, int date, int hourOfDay, int minute, int second)
此方法設定 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 欄位的值。
41void setFirstDayOfWeek(int value)
此方法設定一週的第一天是什麼;例如,在美國是 SUNDAY,在法國是 MONDAY。
42void setLenient(boolean lenient)
此方法指定日期/時間解釋是否應寬鬆。
43void setMinimalDaysInFirstWeek(int value)
此方法設定一年中第一週所需的最小天數;例如,如果第一週定義為包含一年中第一個月的第一天的周,則使用 value 呼叫此方法。
44void setTime(Date date)
此方法使用給定的 Date 設定此 Calendar 的時間。
45void setTimeInMillis(long millis)
此方法使用給定的 long 值設定此 Calendar 的當前時間。
46void setTimeZone(TimeZone value)
此方法使用給定的時區值設定時區。
47String toString()
此方法返回此日曆的字串表示形式。

現在讓我們來看一個 equals() 方法的例子。

java.util.Calendar.equals() 方法將此 Calendar 與指定的 Object 進行比較:

示例

import java.util.*;
public class Demo {
   public static void main(String[] args) {
      // create two calendars
      Calendar cal = Calendar.getInstance();
      // specify a date for one of them
      Calendar cal2 = new GregorianCalendar(2011, 04, 29);
      // compare the two calendars.
      boolean b = cal.equals(cal2);
      // print result
      System.out.println("Calendars are equal :" + b);
   }
}

輸出

Calendars are equal :false

讓我們來看另一個例子,其中我們獲取一週的第一天。java.util.Calendar.getFirstDayOfWeek() 方法返回一週的第一天。

示例

import java.util.*;
public class Demo {
   public static void main(String[] args) {
      // create a new calendar
      Calendar cal = Calendar.getInstance();
      // print the first day of the week
      System.out.println("First day is :" + cal.getFirstDayOfWeek());
      int day = cal.getFirstDayOfWeek();
      switch (day) {
         case (1):
            System.out.println("Sunday");
            break;
         case (2):
            System.out.println("Monday");
            break;
         case 3:
            System.out.println("Tuesday");
            break;
         case 4:
            System.out.println("Wednesday");
            break;
         case 5:
            System.out.println("Thrusday");
            break;
         case 6:
            System.out.println("Friday");
            break;
         case 7:
            System.out.println("Saturday");
            break;
      }
   }
}

輸出

First day is :1
Sunday

更新於:2019年9月24日

1K+ 瀏覽量

開啟你的職業生涯

完成課程,獲得認證

開始學習
廣告