package cn.jiu.com; import java.util.Calendar; import java.util.Scanner; /* * 1、Calendar ? * * 1.日曆 對 Date類中的 不少方法作改進 * 2.是一個抽象類 不能創建對象---就是不能new! 須要子類實現 * 3. * 【特殊】 不須要建立子類對象 直接使用他的靜態方法 獲取!-----getInstance(); * * * 2、主要方法? 三個 set add get * * 1.set 設置 年月份! * set設置日期 格式? set(年,月,日) 中間用用逗號隔開! * * 2.add * add修改日期 格式? add(Calendar. YEAR, 1 ) 年數加一! (Calendar.XXXX,num); 一個點、 一個逗號、num的正負 決定所設置年月日的加減! 年月日大寫! * * 3.get * get 獲取年月日 格式 get(Calendar.YEAR); 中間是一個點號 . 後面接所要獲取的年月日, 一次獲取一個! * *注意! 經過 set 和 add 獲得的年月日!不能直接輸出 ,須要先用 get得到!------[菜鳥本身認爲的] * *3、getInstance();?------------->在java中,可使用這種方式使用單例模式建立類的實例! * * 所謂單例模式就是一個類有且只有一個實例,不像object ob=new object();的這種方式去實例化後去使用。 * */ public class CalendarText { public static void main(String[] args) { run(); add(); //閏年計算! } //Calendar 相關的方法! public static void run(){ Calendar c1=Calendar.getInstance(); //建立對象 c1.set(2000, 2, 1); //設置年月日! int year=c1.get(Calendar.YEAR); //獲取年月日! 並輸出! int day=c1.get(Calendar.DAY_OF_MONTH); int month=c1.get(Calendar.MONTH); System.out.println(year+"年"+month+"月"+day+"日"); //輸出獲取的年月日 //顯示add 修改日期方法! c1.set(4, 2, 1); //設置2就是三月 由於在類中是0-11; 減小一天 就是2月的最後一天,閏年29,平年28天! //可是直接輸出的話會顯示是1月!若是不是閏年 ,你會發現輸出的是1月28!側面證明設置2就是3月! c1.add(Calendar. YEAR,0); //【num 的正負決定 年月日的加減!】 c1.add(Calendar. MONTH,0); c1.add(Calendar. DAY_OF_MONTH,-1); int year01=c1.get(Calendar.YEAR); int day01=c1.get(Calendar.DAY_OF_MONTH); int month01=c1.get(Calendar.MONTH); System.out.println(year01+"年"+month01+"月"+day01+"日"); } //利用 Calendar 日曆 進行閏年的判斷! public static void add(){ Calendar c=Calendar.getInstance(); System.out.println("請輸入要判斷的年份,列如1995"); int year= new Scanner(System.in).nextInt(); c.set(year, 2,1); // c.add(Calendar. DAY_OF_MONTH,-1); // int day=c.get(Calendar.DAY_OF_MONTH); if(day==29){ System.out.println(year+"是閏年!"); }else{ System.out.println(year+"不是閏年!"); } } }