# Java.util.Calendar类里的方法们

174 阅读1分钟

Calendar类是一个抽象类,是不能实例化的,那么这个类得到一个日历实例的方法是这样的:

Calendar calendar = Calendar.getInstance( );

举例:

public class Test01 {
    public static void main(String[] args){
       Calendar c1 = Calendar.getInstance();
       int year = c1.get(Calendar.YEAR);
        System.out.println(year);
    }
}

结果为:2021

类变量有:

calendar.get(Calendar.YEAR);

calendar.get(Calendar.MONTH); // 月份从0开始

calendar.get(Calendar.DAY_OF_MONTH);

calendar.get(Calendar.DAY_OF_WEEK);

calendar.get(Calendar.WEEK_OF_YEAR);

calendar.get(Calendar.WEEK_OF_MONTH);

calendar.get(Calendar.HOUR); // 12小时

calendar.get(Calendar.HOUR_OF_DAY); // 24小时

calendar.get(Calendar.MINUTE);

calendar.get(Calendar.SECOND);

calendar.get(Calendar.MILLISECOND);

1. YEAR方法

字段编号为 getset表示年份。

public class Test01 {
    public static void main(String[] args){
       Calendar c1 = Calendar.getInstance();
       //输出当前年份
       int year = c1.get(Calendar.YEAR);
       //输出当前天数,按年计算
        int days = c1.get(Calendar.DAY_OF_YEAR);
        //输出当前天数,按月计算
        int days1 = c1.get(Calendar.DAY_OF_MONTH);
        //重新设置当前年份为1996年
        c1.set(Calendar.YEAR,1996);
        System.out.println(days + "天");
        System.out.println(days1 + "天");
        System.out.println(year);
        System.out.println("修改后的年份为: " + c1.get(Calendar.YEAR));
    }
}

结果为:

322天 18天 2021 修改后的年份为: 1996

2. set()和get()方法

public class Test01 {
    public static void main(String[] args){
       Calendar c1 = Calendar.getInstance();
       //输出当前年份
       int year = c1.get(Calendar.YEAR);
       //输出当前天数,按年计算
        int days = c1.get(Calendar.DAY_OF_YEAR);
        //输出当前天数,按月计算
        int days1 = c1.get(Calendar.DAY_OF_MONTH);
        //重新设置当前年份为1996年
        c1.set(Calendar.YEAR,1996);
        c1.set(1996,5,9);
        System.out.println(days + "天");
        System.out.println(days1 + "天");
        System.out.println(year);
        System.out.println(c1.get(Calendar.YEAR)+"年"+c1.get(Calendar.MONTH)+"月"+c1.get(Calendar.DATE)+"日");
    }
}

结果为:

322天 18天 2021 1996年5月9日

3. add()方法

public class Test01 {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.get(Calendar.MONTH));
        calendar.add(Calendar.MONTH,3);
        System.out.println(calendar.get(Calendar.MONTH));
    }
}

结果为:

10 1

4. getTime()方法

public class Test01 {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        //getTime: 获取日历时间,表示的日历对象
        Date d1 = calendar.getTime();
        System.out.println(d1);
    }
}

结果为:

Fri Feb 18 23:38:31 CST 2022

5. getActual()方法

获取某个字段的最大值。

public class Test01 {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        //获取一年中最大的月份
        int m = calendar.getActualMaximum(Calendar.MONTH);
        System.out.println(m);
    }
}

结果为:11