Calendar(日历类)

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

获取方式:

Calendar为抽象类,由于语言敏感性,Calendar类在创建的时并非直接创建,而是通过静态方法创建,返回子类对象,如下:
Calendar的静态方法
public static Calendar getInstance():使用默认时区和语言环境获取一个日历。
例如:

public class Demo01Calendar{
    public static void main(String[] args) {
       Calendar c=Calendar.getInstance();
        System.out.println(c);	//打印的不是地址值,说明重写了toString方法
    }
}

常用方法
根据Calendar类的API文档,常用方法有:

public int get(int field):返回给定日历字段的值。
public void set(int field,int value):将给定的日历字段设置为给定值。
public abstract void add(int field,int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
成员方法的参数:

int field:日历类的字段,可以是使用Calendar类的静态成员变量获取

public static final int YEAR = 1;	//年
public static final int MONTH = 2;	//月
public static final int DATE = 5;	//月中的某一天
public static final int DAY_OF_MONTH = 5;	//月中的某一天
public static final int HOUR = 10;		//时
public static final int MINUTE = 12;	//分
public static final int SECOND = 13;	//秒

Calendar类中提供很多成员常量,代表给定的日历字段:

字段值 含义
YEAR 年
MONTH 月(从0开始,可以+1使用)
DAY_OF_MONTH 月中的天(几号)
HOUR 时(12小时制)
HOUR_OF_DAY 时(24小时制)
MINUTE 分
SECOND 秒
public int get(int field):返回给定日历字段的值。
参数:传递指定的日历字段(YEAR,MONTH…)

返回值:日历字段代表具体的值。

public class Demo02Calendar{
    public static void main(String[] args){
        //getInstance方法获取Calendar对象
        Calendar c=Calendar.getInstance();
        int year=c.get(Calendar.YEAR);	//获取年
        System.out.println(year);
        
        int month=c.get(Calendar.MONTH);
        System.out.println(month);	//月份从0开始
        
        int date=c.get(Calendar.DATE);
        System.out.println(date);	//一个月的第几天
    }
}

public void set(int field,int value):将给定的日历字段设置为给定值。
参数:

int field:传递指定的日历字段(YEAR,MONTH…)
int value:传递的字段设置具体的值。

public class Demo03Calendar{
    public static void main(String[] args){
        //getInstance方法获取Calendar对象
        Calendar c=Calendar.getInstance();
        int year=c.get(Calendar.YEAR);	//获取年
        System.out.println(year);
        c.set(Calendar.YEAR,9999);	//设置年
        year=c.get(Calendar.YEAR);	//获取年
        System.out.println(year);	//9999
    }
}

public abstract void add(int field,int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
把指定的字段增加/减少指定的值。

参数:

int field:传递指定的日历字段(YEAR,MONTH…)
int amount:增加/减少的值
正数:增加

负数:减少

public class Demo04Calendar{
    public static void main(String[] args){
        //getInstance方法获取Calendar对象
        Calendar c=Calendar.getInstance();
        int year=c.get(Calendar.YEAR);	//获取年
        System.out.println(year);
        c.add(Calendar.YEAR,2);	//增加两年
        year=c.get(Calendar.YEAR);	//获取年
        System.out.println(year);	//2022
    }
}

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

public class Demo05Calendar{
    public static void main(String[] args){
        //getInstance方法获取Calendar对象
        Calendar c=Calendar.getInstance();
        
        //把日历对象,转换为日期对象。
        Date date=c.getTime();
        System.out.println(date);	//打印日期类
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值