一、Calendar類概述 java
Calendar 類是一個抽象類,它爲特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等spa
日曆字段之間的轉換提供了一些方法,併爲操做日曆字段(例如得到下星期的日期)提供了一些方法。 code
二、成員方法 對象
public static Calendar getInstance():初始化,返回子類對象 blog
public int get(int field):返回給定日曆字段的值 get
public void add(int field,int amount):根據給定的日曆字段和對應的時間,來對當前的日曆進行操做class
/* * Calendar:它爲特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日曆字段之間的轉換提供了一些方法,併爲操做日曆字段(例如得到下星期的日期) * 提供了一些方法。 * public int get(int field):返回給定日曆字段的值。日曆類中的每一個日曆字段都是靜態的成員變量,而且是int類型。 */ public class CalendarDemo { public static void main(String[] args) { // 其日曆字段已由當前日期和時間初始化: Calendar rightNow = Calendar.getInstance();// 子類對象 // 獲取年 int year = rightNow.get(Calendar.YEAR); // 獲取月 int month = rightNow.get(Calendar.MONTH);//從0開始算起 // 獲取日 int date = rightNow.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); } }
舉例2:import
import java.util.Calendar; /* * public void add(int field,int amount):根據給定的日曆字段和對應的時間,來對當前的日曆進行操做。 * public final void set(int year,int month,int date):設置當前日曆的年月日 */ public class CalendarDemo02 { public static void main(String[] args) { Calendar c = Calendar.getInstance();// 子類對象 // 獲取年 int year = c.get(Calendar.YEAR); // 獲取月 int month = c.get(Calendar.MONTH);//從0開始算起 // 獲取日 int date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); //3年前的今天 c.add(Calendar.YEAR,-3); year = c.get(Calendar.YEAR); // 獲取月 month = c.get(Calendar.MONTH); // 獲取日 date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); //5年後的10天前 c.add(Calendar.YEAR,5); c.add(Calendar.DATE,-10); year = c.get(Calendar.YEAR); // 獲取月 month = c.get(Calendar.MONTH); // 獲取日 date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); //設置時間 c.set(2011,11,11); year = c.get(Calendar.YEAR); // 獲取月 month = c.get(Calendar.MONTH); // 獲取日 date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); } }
舉例3:獲取任意一年的二月有多少天變量
import java.util.Calendar; import java.util.Scanner; /* * 獲取任意一年的二月有多少天 * * 分析: * A:鍵盤錄入任意的年份 * B:設置日曆對象的年月日 * 年就是A輸入的數據 * 月是2 * 日是1 * C:把時間往前推一天,就是2月的最後一天 * D:獲取這一天輸出便可 */ public class CalendarDemo03 { public static void main(String[] args) { // 鍵盤錄入任意的年份 Scanner sc = new Scanner(System.in); System.out.println("請輸入年份:"); int year = sc.nextInt(); // 設置日曆對象的年月日 Calendar c = Calendar.getInstance(); c.set(year, 2, 1); // 實際上是這一年的3月1日 // 把時間往前推一天,就是2月的最後一天 c.add(Calendar.DATE, -1); // 獲取這一天輸出便可 System.out.println(c.get(Calendar.DATE)); } }