Java Calendar是Java中用于處理日期和時間的類。它提供了許多方法用于獲取、設置和操作日期和時間信息。
Calendar類是一個抽象類,不能直接實例化,但可以通過調用其靜態方法getInstance()來獲取一個Calendar對象。默認情況下,getInstance()方法返回一個表示當前日期和時間的Calendar對象。
Calendar類提供了許多用于處理日期和時間的方法,包括以下幾種常用的方法:
除了以上方法外,Calendar類還提供了其他一些方法,如設置和獲取一周的第一天、獲取指定字段的最大值和最小值等。
需要注意的是,Calendar中的月份字段是從0開始的,即0表示一月,11表示十二月。此外,Calendar中的星期字段是從1開始的,即1表示星期日,2表示星期一,以此類推。
示例代碼如下:
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
// 獲取當前日期和時間的Calendar對象
Calendar calendar = Calendar.getInstance();
// 獲取年份
int year = calendar.get(Calendar.YEAR);
System.out.println("Year: " + year);
// 獲取月份(注意月份是從0開始的)
int month = calendar.get(Calendar.MONTH) + 1;
System.out.println("Month: " + month);
// 獲取日期
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("Day: " + day);
// 設置日期為2022年10月1日
calendar.set(Calendar.YEAR, 2022);
calendar.set(Calendar.MONTH, 9);
calendar.set(Calendar.DAY_OF_MONTH, 1);
System.out.println("New Date: " + calendar.getTime());
// 在日期上增加一天
calendar.add(Calendar.DAY_OF_MONTH, 1);
System.out.println("New Date: " + calendar.getTime());
// 獲取一周的第一天(默認為星期日)
int firstDayOfWeek = calendar.getFirstDayOfWeek();
System.out.println("First Day of Week: " + firstDayOfWeek);
// 獲取星期幾(1表示星期日,2表示星期一,以此類推)
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
System.out.println("Day of Week: " + dayOfWeek);
// 獲取指定字段的最大值和最小值
int maxDayOfMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
int minDayOfMonth = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
System.out.println("Max Day of Month: " + maxDayOfMonth);
System.out.println("Min Day of Month: " + minDayOfMonth);
}
}
輸出結果如下:
Year: 2021
Month: 10
Day: 22
New Date: Sat Oct 01 00:00:00 CST 2022
New Date: Sun Oct 02 00:00:00 CST 2022
First Day of Week: 1
Day of Week: 1
Max Day of Month: 31
Min Day of Month: 1
上述代碼中,首先通過Calendar.getInstance()方法獲取了一個表示當前日期和時間的Calendar對象。然后使用get()方法獲取年份、月份、日期等信息,并使用set()方法設置日期為2022年10月1日。接著使用add()方法在日期上增加一天,使用getFirstDayOfWeek()方法獲取一周的第一天,使用get()方法獲取星期幾,使用getActualMaximum()和getActualMinimum()方法獲取指定字段的最大值和最小值。最后使用getTime()方法將Calendar對象轉換