日历类:主要用来处理时间,例如获取事件的某个部分,改变时间的某个部分,对时间进行加减操作等
与date的区别,date主要是获取一个日期的,里面也有很多操作日期的方法,但是早已经过期了,不再使用。所以操作日期主要使用Calendar
calendar是一个抽象类,提供了一个静态方法getInstance来获得实例
Calendar c =Calendar.getInstance();
//(1)Calendar-> Date
Date time = c.getTime();
//(2)Date -> Calendar
c.setTime(time);
// (1)获取某个部分 get()方法
System.out.println(c.get(Calendar.YEAR));//2022 年
//特别注意 它的月份是从0开始计算的
System.out.println(c.get(Calendar.MONTH));//10 当前月份减1
System.out.println(c.get(Calendar.DATE));//当前日期
System.out.println(c.get(Calendar.DAY_OF_WEEK));//当前一个星期的第几天 外国 1表示星期天
// (2)为某个时间值添加时间 add(int field,int amount) 第一个参数为要为哪个时间值添加,第二个参数为要添加多少
c.add(Calendar.YEAR,10);
System.out.println(c.get(Calendar.YEAR));//2032 年 添加了十年
// (3)将给定的日历字段设置给定值 set(int field, int amount)
c.set(Calendar.YEAR,2000);
System.out.println(c.get(Calendar.YEAR));//2000年, 年份被改成了2000
// (4)设置最常见的三个时间字段的方法 set(int year , int month ,int date)
c.set(2000,2,27);
System.out.println(c.getTime());//Mon Mar 27 23:08:18 CST 2000 显示是三月份,因为这里的月份也是从0开始计数