Java Calendar
阿新 • • 發佈:2020-10-29
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);
專案使用展示: