java 获取一个月有多少个工作日?

假如说这个月是 2011-08
然后这个月有几个工作日 只需要天数就可以了

第1个回答  推荐于2016-05-03
import java.util.Calendar;
import java.util.Scanner;

public class WorkingDAy {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
System.out.print("Please input the date(yyyy-MM): ");

String input = scanner.nextLine();

if(!input.matches("\\d{4}-\\d{2}")){
System.out.println("Error input in format, exit!");
System.exit(0);
}

int count = 0;

int month = Integer.parseInt(input.substring(5, 7));
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(input.substring(0, 4)));
cal.set(Calendar.MONTH, month - 1);
cal.set(Calendar.DATE, 1);

while(cal.get(Calendar.MONTH) < month){
int day = cal.get(Calendar.DAY_OF_WEEK);

if(!(day == Calendar.SUNDAY || day == Calendar.SATURDAY)){
count++;
}

cal.add(Calendar.DATE, 1);
}

System.out.println(count);
}

}

看例子本回答被提问者采纳
相似回答