1.Calendar類:
是一個抽象類,需要導入java.util.Calendar包。
Calendar c = Calendar.getInstance(); getInstance直接返回的是子類對象,不需要new子類對象,直接調用。
//獲得子類對象 Calendar c =Calendar.getInstance(); System.out.println(c); //把日歷對象轉為Date日期對象 Date time=c.getTime(); System.out.println(time);
2.get set add方法
get方法:獲得日歷字段的值。
//get 方法 ,獲得日歷字段的值 int get public static void fun(){ Calendar c=Calendar.getInstance(); //獲取年份 int year=c.get(Calendar.YEAR); //System.out.println(year); //獲取月份 月份比真實月份少一 個月 +1 int month=c.get(Calendar.MONTH)+1; //獲取日份 int day=c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); }
set方法:設置日歷set(int field,int value)
public static void fun1(){ Calendar c = Calendar.getInstance(); //設置月份到10月份 //c.set(Calender.MONTH,9); //設置 年 月 日 c.set(2020,2,20); //獲得年份 int year=c.get(Calendar.YEAR); //獲取月份 int month=c.get(Calendar.MONTH)+1; //獲取日份 int day=c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); }
add方法:日歷偏移量
//add 日歷偏移量 public static void fun2(){ Calendar c = Calendar.getInstance(); //負值向前偏移 正值向后偏移 c.add(Calendar.DAY_OF_MONTH, -310); int year=c.get(Calendar.YEAR); System.out.println(year); int month=c.get(Calendar.MONTH)+1; int day=c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); }
★例子:閏年的計算
思路:將日歷設置到指定的年份,3月1日向前偏移一天,獲取二月份的天數,如果是29天則是閏年。
public class TestDemo { public static void main(String[] args) { //閏年的計算,將日歷設置到指定的年份 , 3月1日向前偏移一天,獲取天數,如果是29天就是閏年 fun1(); } public static void fun1(){ Calendar c=Calendar.getInstance(); //設置時間2014年3月1日 c.set(2014,2,1); /*獲取月份 int month=c.get(Calendar.MONTH)+1; System.out.println(month); */ //偏移 向前偏移一天 c.add(Calendar.DAY_OF_MONTH, -1); //get獲取天數 int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(day); if(day==28){ System.out.println("不是閏年"); }else{ System.out.println("是閏年"); } } }