import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class CalendarStu {
/*日历类:Calendar:现在主要使用的用于处理日期,时间的类
* Calendar是一个抽象类
* 只有一个子类GregorianCalendar
* 生成子类对象的两种方式:
* 1.Calendar.getInstance()
* 2.直接new 子类对象
* 构造器:(),(年月日时分秒)
* 注意:Calendar的月份是从0月开始的
* 3.setTime(Date date),getTime(Date date)将Calendar与date进行互换,具备相同的时间
* 4.set(字段,值),get(字段);设置和获取对应的字段的值
* 5.add(int field, int amount):修改指定的字段添加或者减少指定的值
* 6.getActualMaximum(int field):根据实际情况判断一个字段的额最大值
* getMaximum(int field) :获取一个字段所有情况下可能的最大值
* 7.
*拓展:
*1.Calendar内是使用了一个int类型的数组用于存储所有的字段的值
*2.定义了很多的int类型的常量,用于存储对应的字段在数组中存储的位置
*/
public static void main(String[] args)
{
demo4();
}
//生成对象
public static void demo1(){
Calendar cal = Calendar.getInstance();
Calendar cal1 = new GregorianCalendar();
Calendar cal2 = new GregorianCalendar(2017,5,6);
System.out.println(cal);
System.out.println(cal1);
System.out.println(cal2);
}
//getTime,setTime
public static void demo2(){
Calendar ca = Calendar.getInstance();
Date date = ca.getTime();
System.out.println(date.toLocaleString());
ca.setTime(date);//将calendar对象内的时间改为date内的时间
}
//get,set,add
public static void demo3(){
Calendar ca = new GregorianCalendar(2017,6,10);
//获取当前对象的时间是第几月
int month = ca.get(1);
System.out.println("月份是:"+month);
//将日期设置为1号
ca.set(Calendar.DATE, 1);
System.out.println(ca.getTime().toLocaleString());
//获取3天前的日期
ca.add(Calendar.DATE, -3);
System.out.println(ca.getTime().toLocaleString());
}
//获取字段最大值
public static void demo4(){
Calendar ca = new GregorianCalendar(2017,1,15);
System.out.println(ca.getMaximum(Calendar.DATE));
System.out.println(ca.getActualMaximum(Calendar.DATE));
}
}
一个不错的java项目:JAVA WEB 项目教程-模仿天猫整站 J2EE版