/**
* 获取2个日期之间周六,周日的天数
* @param startDate
* @param endDate
* @param format
* @return
* @author zhaigx
* @date 2013-3-13
*/
public static int getSundayNum(String startDate, String endDate, String format) {
List yearMonthDayList = new ArrayList();
Date start = null, stop = null;
try {
start = new SimpleDateFormat(format).parse(startDate);
stop = new SimpleDateFormat(format).parse(endDate);
} catch (ParseException e) {
e.printStackTrace();
}
if (start.after(stop)) {
Date tmp = start;
start = stop;
stop = tmp;
}
//将起止时间中的所有时间加到List中
Calendar calendarTemp = Calendar.getInstance();
calendarTemp.setTime(start);
while (calendarTemp.getTime().getTime() <= stop.getTime()) {
yearMonthDayList.add(new SimpleDateFormat(format)
.format(calendarTemp.getTime()));
calendarTemp.add(Calendar.DAY_OF_YEAR, 1);
}
Collections.sort(yearMonthDayList);
int num=0;//周六,周日的总天数
int size=yearMonthDayList.size();
int week=0;
for (int i = 0; i < size; i++) {
String day=(String)yearMonthDayList.get(i);
System.out.println(day);
week=getWeek(day, format);
if (week==6||week==0) {//周六,周日
num++;
}
}
return num;
}
/**
* 获取某个日期是星期几
* @param date
* @param format
* @return 0-星期日
* @author zhaigx
* @date 2013-3-13
*/
public static int getWeek(String date, String format) {
Calendar calendarTemp = Calendar.getInstance();
try {
calendarTemp.setTime(new SimpleDateFormat(format).parse(date));
} catch (ParseException e) {
e.printStackTrace();
}
int i = calendarTemp.get(Calendar.DAY_OF_WEEK);
int value=i-1;//0-星期日
// System.out.println(value);
return value;
}
public static void main(String[] args) {
int i=getSundayNum("2013-03-01", "2013-03-20", "yyyy-MM-dd");
System.out.println(i);
}
温馨提示:答案为网友推荐,仅供参考