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

2025-04-18 00:22:06
推荐回答(1个)
回答1:

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);
}

}

看例子