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