首先:Calendar是一个抽象类,不可以通过new来获取一个实例,可以通过类方法getinstance()获取此类型的一个通用的对象
①用法:
Calendar lendar=Calendar.getInstance();
int year=2015;
int month=12;
int day=21;
calendar.set(year,month,day);
②获取当天的年与日:
我们可以使用此方法get()获取对应的年月日.用法如下:
(月份的获取是比实际的月份要小一个月,因此我们获取当前的月份的时候需要+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