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