Calendar日历类(抽象类)的使用
需要学习以下四个:
- System类中currentTimeMillis(); (已学)
- java.util.Date和子类java.sql.Date (已学)
- SimpleDateFormat (已学)
- Calendar (本节)
注意:
Calendar日历类(抽象类)的实例化
方式一:创建其子类(GregorianCalendar)的对象
方式二:调用其静态方法getInstance()
package com.cyl.Date;
import org.junit.Test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTimeTest {
@Test
public void testCalendar(){
//1.实例化
//方式一:创建其子类(GregorianCalendar)的对象
//方式二:调用其静态方法getInstance()
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getClass());
}
}
结果:可以看到对象calendar是GregorianCalendar类(Calendar的子类)造的
Calendar日历类(抽象类)的常用方法:
package com.cyl.Date;
import org.junit.Test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTimeTest {
@Test
public void testCalendar(){
//1.实例化
//方式一:创建其子类(GregorianCalendar)的对象
//方式二:调用其静态方法getInstance()
Calendar calendar = Calendar.getInstance();//获取了当前日期
//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.set(Calendar.DAY_OF_MONTH,22);//这里相当于把calendar内的时间改了
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);//将当前时间重新修改为calendar
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
}
}
结果: