Calendar類的使用——閏年的計算


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("是閏年");
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM