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