JDK8之前日期时间API:java.util.Calendar(日历)类
- Calendar是一个抽象基类,主用用于完成日期字段之间相互操作的功能。
- 获取Calendar实例的方法
(1)使用Calendar.getInstance()方法
(2)调用它的子类GregorianCalendar的构造器。 - 一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、MINUTE、SECOND
(1) public void set(int field,int value)
(2) public void add(int field,int amount)
(3) public final Date getTime()
(4) public final void setTime(Date date) - 注意:
(1) 获取月份时:一月是0,二月是1,以此类推,12月是11
(2) 获取星期时:周日是1,周一是2 , 。。。。周六是7
代码:
package java1;
import org.junit.Test;
import java.util.Calendar;
import java.util.Date;
public class DateTimeTest1 {
@Test
public void testCalendar() {
//1.实例化
//方式一:创建其子类(GregorianCalendar)的对象
//方式二:调用其静态方法getInstance()
Calendar calendar = Calendar.getInstance();
// System.out.println(calendar.getClass());
//2.常用方法
//get()
int days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
//set()
//calendar可变性
calendar.set(Calendar.DAY_OF_MONTH, 22);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
//add()
calendar.add(Calendar.DAY_OF_MONTH, -3);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
//getTime():日历类---> Date
Date date = calendar.getTime();
System.out.println(date);
//setTime():Date ---> 日历类
Date date1 = new Date();
calendar.setTime(date1);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
}
}
输出:
8
39
22
19
Fri Feb 19 10:35:19 CST 2021
8