首先:Calendar是一个抽象类,不能够经过new来获取一个实例,能够经过类方法getinstance()获取此类型的一个通用的对象html
①用法:函数
Calendar lendar=Calendar.getInstance();htm
int year=2015;对象
int month=12;get
int day=21;List
calendar.set(year,month,day);方法
②获取当天的年与日:im
咱们能够使用此方法get()获取对应的年月日.用法以下:static
(月份的获取是比实际的月份要小一个月,所以咱们获取当前的月份的时候须要+1的操做 )时间
Calendar calendar = Calendar.getInstance();
int cur_month=calendat.get(Calendar.MONTH)+1;
int cur_year=calendar.get(Calendar.YEAR);
int cur_day=calendar.get(Calendar.DAY_OF_MONTH);
③
after函数跟before函数的用法当须要知道某一天的日期是否比今日的日期早或者晚之类时;能够计算出2个时间段之间的日期;
思路以下:咱们利用set函数设定一个开始时间,一个结束时间,而后使用before或者after函数
//获取这个时间段内的全部日期
public static List<Data> findDates(Date dBegin,Data dEnd)
{
List lDate=new ArrayList();
lDate.add(dBegin);
Calendar calBegin=Calendar.getinstance();
calBegin.setTime(dBegin);
Calendar calEnd=Calendar.getinstance();
calEnd.setTime(dEnd);
while(dEnd.after(caBegin.getTime()))
{
calBegin.add(Calendar.DAY_OF_MONTH,1);//?????????这里有问题待解决,Calendar的实例能够有add 函数?干啥用的?暂时不
lDate.add(calBegin.getTime());
}
return lDate;
}
learn from : http://jingyan.baidu.com/article/a3aad71acb9d89b1fa00966b.html