java.util.Calendar类,日历类
是一个抽象类,无法直接创建使用
需要用getInstance()方法获取一个日历对象
static Calendar getInstance() 使用默认时区和语言环境获得一个日历。
提供了很多操作日历字段的方法:
YEAR、MONTH、DAY_OF_MONTH、HOUR
常用成员方法:
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 对象。
1.public int get(int field) 返回给定日历字段的值。
参数:传递指定的日历字段(TEAR,MONTH...)
返回值:日历字段代表的具体的值
private static void demo01(){
//使用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-11月
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
2. public void set(int field, int value) 将给定的日历字段设置为给定值。
提供了多种重载方式,可以单独设置一个值,也可以同时设置多个值
参数:
int field
int value 传递的字段设置的具体的值
private static void demo02() {
Calendar c = Calendar.getInstance();
//设置年为9999
c.set(Calendar.YEAR,9999);
int year = c.get(Calendar.YEAR);
System.out.println(year);
//同时设置年月日,重载
c.set(2020,11,11);
year = c.get(Calendar.YEAR);
System.out.println(year);
int month = c.get(Calendar.MONTH);
System.out.println(month);//西方的月份0-11月
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
3. public abstract void add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
把指定的字段增加/减少指定的值
参数:
int field
int amount 增加/减少的值
private static void demo03() {
Calendar c = Calendar.getInstance();
//把年增加2
c.add(Calendar.YEAR,2);
//把月减少三个月
c.add(Calendar.MONTH,-3);
int year = c.get(Calendar.YEAR);
System.out.println(year);
int month = c.get(Calendar.MONTH);
System.out.println(month);//西方的月份0-11月
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
4. public Date getTime() 返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
把日历对象转换为日期对象