首先: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