1. 程式人生 > 實用技巧 >Java Calendar

Java Calendar

1 什麼是Calendar?

  • Calendar(讀音:[ˈkælɪndə(r)])是java util包下的一個工具類,提供了不同日期格式的處理。
  • Calendar是一個抽象類,不能用構造器來建立,但Calendar提供了幾個靜態方法來獲取Calendar類。例如:Calendar.getInstance()。
  • Calendar類實現了公曆日曆,其子類GregorianCalendar是它的一個具體體現。

2 Calendar的使用

2.1 建立

Calendar calendar = Calendar.getInstance();

Calendar calendar = new GregorianCalendar();

2.2 方法

2.2.1 get(int field)獲取指定欄位的值

 1     Calendar c = Calendar.getInstance();
 2     System.out.println(c);
 3 
 4     //獲取當前日曆的所表示的年份
 5     int year = c.get(Calendar.YEAR);
 6     System.out.println(year);
 7 
 8     //獲取給定的日曆所表示的月份
 9     int month = c.get(Calendar.MONTH);
10     System.out.println(month);
11 12 //獲取給定的日曆所表示的日期(本月的第幾天) 13 int day = c.get(Calendar.DAY_OF_MONTH); 14 System.out.println(day); 15 16 //獲取給定的日曆所表示的小時 17 int hour = c.get(Calendar.HOUR_OF_DAY); //24小時制 HOUR:12小時制 18 System.out.println(hour); 19 20 //獲取給定的日曆所表示的分鐘 21 int min = c.get(Calendar.MINUTE
);
22 System.out.println(min); 23 24 //獲取給定的日曆所表示的秒鐘 25 int second = c.get(Calendar.SECOND); 26 System.out.println(second); 27 28 //獲取今天是星期幾 29 int week = c.get(Calendar.DAY_OF_WEEK); //從星期天開始計算,如果今天是星期二,則返回3 30 System.out.println("當前是這周的第幾天:"+week);

2.2.2 set(int field,int value)設定指定欄位的值

 1       Calendar c2 = Calendar.getInstance();
 2           
 3           //設定日期為 2000年8月31日
 4           c2.set(2000, 7, 31); 
 5           //設定年份
 6           c2.set(Calendar.YEAR, 2022);
 7           //設定月份 
 8           c2.set(Calendar.MONTH, 8);
 9          //設定日(該月的第幾天)
10           c2.set(Calendar.DAY_OF_MONTH,15);
11       
12          System.out.println(c2);        

注意:月份獲取需要 +1,那麼,賦值時需要 -1!

   月份獲取需要 +1,那麼,賦值時需要 -1!

月份獲取需要 +1,那麼,賦值時需要 -1!

2.2.3 getActualMaximum(int field) 獲取指定欄位具備的最大值

(讀音:[ˈæktʃuəl][ˈmæksɪməm])

1     //獲取指定欄位具備最大值,獲得最大月份
2     int max = c2.getActualMaximum(Calendar.MONTH);
3     System.out.println(max);
4 
5     //獲取當前日曆所表示月份的最大天數
6     int days = c2.getActualMaximum(Calendar.DAY_OF_MONTH);
7     System.out.println(days);

2.2.4 getTime()獲取當前日曆所表示的java.util.Date物件

1     //將日曆物件轉換為java.util.Date
2     Date date = c2.getTime();
3     System.out.println(date);

2.2.5 getTimeInMillis()獲取當前日曆所表示時間的毫秒數

(從1970年1月1日 0時0分0秒開始)

1     //Calendar型別轉換到Timestamp型別
2     Timestamp  t = c2.getTimeInMillis();
3     System.out.println(t);

2.2.6 add()對當前日曆進行計算

1     //當前日曆加上10天
2     c2.add(Calendar.DATE, 10);
3     ////當前日曆減去10天
4     c1.add(Calendar.DATE, -10);

Calendar.MONTH等其他欄位屬性add使用同此

3GregorianCalendar類

3.1常用方法

1     GregorianCalendar gc = new GregorianCalendar();
2     //判斷給定的年份是否是閏年
3     boolean leapYear = gc.isLeapYear(2020);

其他方法列表

專案使用展示: