Calendar类常用方法

Calendar类

日历类 java.util.Calender,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。

获取方式

Calendar为抽象类,无法直接创建对象使用,里面有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象。

static Calendar getInstance() 使用默认时区和语言环境获取一个日历

// 导包
java.util.Calendar

public class Calendar{
public void main(String[] aegs){
    // 多态
    Calendar c = Calendar.getInstance();
    Syste.out.println(c);
    
}
}

常用方法

get方法用来获取指定字段的值,set方法用来设置指定字段的值

Calendar类的常用成员方法

get方法

格式:

​ public int get(int field):返回给定日历字段的值
​ 参数:传递指定的日历字段(YEAR,MONTH...)
返回值:日历字段代表的具体的值

public static void main(String[] args) {
        demo01();
}

public static void demo01(){
        // 使用getInstance方法获取Calendar对象
        Calendar c = Calendar.getInstance();
        System.out.println(c);
        int year = c.get(Calendar.YEAR);
        System.out.println(year);

        int mouth = c.get(Calendar.MONTH);
        // 西方月份0-11  东方月份1-12
        System.out.println(mouth);

        int date = c.get(Calendar.DAY_OF_MONTH);
        System.out.println(date);
        int date2 = c.get(Calendar.DATE);
        System.out.println(date2);
    }

set方法

格式:

​ public void set(int field,int value):将给定的日历字段设置为给定值
参数:
​ int field:传递指定的日历字段(YEAR,MONTH...)
​ int value:给指定的字段设置值

public static void main(String[] args) {
         demo02();
   }
 public static void demo02(){
        // 使用getInstance方法获取calendar对象
        Calendar c = Calendar.getInstance();
        System.out.println(c);

        c.set(999,6,6);
        // 获取年
        c.set(Calendar.YEAR,666);
        int year = c.get(Calendar.YEAR);
        System.out.println("系统时间:"+year);
        System.out.println("重新设置年::"+year);

        // 重新设置月
        c.set(Calendar.MONTH,6);
        int month = c.get(Calendar.MONTH);
        System.out.println("月份:"+month);

        // 重新设置日
        c.set(Calendar.DATE,11);
        // 获取日
        int date = c.get(Calendar.DATE);
        System.out.println(date);

        c.set(999,6,6);
        System.out.println(year+"年"+month+"月"+date+"日");
    }

add方法

格式:

​ public abstract void add(int field,int amount):根据日历的规则,得指定的日历字段添加或者减去指定的时间量把指定的字段量增加/减少指定的值
参数:
​ int field:传递指定的日历字段(YEAR,MONTH...)
​ int amount:增加/减少指定的值
​ 正数:增加
​ 负数:减少

public static void main(String[] args) {
         demo03();
}

public static void demo03(){
        Calendar c = Calendar.getInstance();
        // 增加两年
        c.add(Calendar.YEAR,2);
        int year = c.get(Calendar.YEAR);
        System.out.println(year);

        // 减少两个月
        c.add(Calendar.MONTH,-1);
        int month = c.get(Calendar.MONTH);
        System.out.println(month);
    }

getTime方法

Calendar中的getTime方法并不是获取毫秒时刻,而是拿到对应的Date对象。

格式:

​ public Date getTime():返回一个表示此calendar时间值(从历元到现在的毫秒值偏移量)的Date对象
把日历对象,转换为日期对象

public static void main(String[] args) {
         demo04();
}
public static void demo04(){
        // 使用getInstance方法获取calendar对象
        Calendar c = Calendar.getInstance();

        Date date = c.getTime();
        System.out.println(date);
        // Thu Mar 12 23:20:35 CST 2020

    }

小贴士:

​ 西方星期的开始为周日,中国为周一。

​ 在Calendar类中,月份的表示是以0-11代表1-12月。

​ 日期是有大小关系的,时间靠后,时间越大。

猜你喜欢

转载自www.cnblogs.com/anke-z/p/12483693.html