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("是闰年");
        }
    }
}
原文地址:https://www.cnblogs.com/duguangming/p/10565333.html