Day027 Calendar类

Calendar日历类


  • Calendar是一个抽象基类,主要用于完成日期字段之间相互操作的功能。
  • 获取Calendar实例的方法
    • 使用Calendar.getInstance()方法(调用Calendar的静态方法
    • 调用它的子类GregorianCalendar的构造器。(实例化继承Calendar的子类)
Calendar calendar=Calendar.getInstance();//实际上还是new的GregorianCalendar
System.out.println(calendar.getClass());

输出结果

class java.util.GregorianCalendar

注:可以看到,用getInstance()方法最终还是new的GregorianCalendar对象。


  • 一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY、MINUTE、SECOND

    • public void set(int field,int value)
    • public void add(int field,int amount)
    • public final Date getTime()
    • public final void setTime(Date date)
  • 注意:

    • 获取月份时:一月是0,二月是1,以此类推,12月是11
    • 获取星期时:周日是1,周二是2,。。。。周六是7
    public static void main(String[] args) {
        //1.实例化
        Calendar calendar=Calendar.getInstance();//实际上还是new的GregorianCalendar
        System.out.println(calendar.getClass());

        //2.常用方法
        //get()
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));

        //set()
        calendar.set(Calendar.DAY_OF_MONTH,22);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        //add()
        calendar.add(Calendar.DAY_OF_MONTH,3);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        calendar.add(Calendar.DAY_OF_MONTH,-1);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        //getTime() 日历类--->Date对象
        Date date = calendar.getTime();
        System.out.println(date);

        //setTime() Date对象--->日历类
        Date date1 = new Date();
        calendar.setTime(date1);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
    }

输出结果

class java.util.GregorianCalendar
27
147
22
25
24
Mon May 24 20:14:35 CST 2021
27

尚硅谷

上一篇:Java 根据年月 获取当月最后一天


下一篇:【小白学Java】D12》》》java中常用API(第二部分)