자바(Java)

자바 주말제외 두 날짜 사이 평일 수 구하는 방법

xemaker 2019. 5. 30. 14:38

구글링을 해보다가 자바로 주말제외 두 날짜 사이 평일 수 구하는 방법을 겨우 찾았다..

미국 버전이다..

다음 글에 한국버전이 있다.

import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;

public class DaysCounter {
 private String startDate;
 private String endDate;

 public void calculateDate() {
  @SuppressWarnings("resource")
  Scanner in = new Scanner(new InputStreamReader(System.in));
  System.out.println("Enter the starting date (DD/MM/YY) :");
  startDate = in.next();
  System.out.println("Enter the End date (DD/MM/YY) :");
  endDate = in.next();
  SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
  try {
   Calendar start = Calendar.getInstance();
   start.setTime(sdf.parse(startDate));
   Calendar end = Calendar.getInstance();
   end.setTime(sdf.parse(endDate));
   int workingDays = 0;
   while (!start.after(end)) {
    int day = start.get(Calendar.DAY_OF_WEEK);
    if ((day != Calendar.SATURDAY) && (day != Calendar.SUNDAY))
     workingDays++;
    start.add(Calendar.DATE, 1);
   }
   System.out.println(workingDays);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public static void main(String[] args) {
  DaysCounter daysCounter = new DaysCounter();
  daysCounter.calculateDate();
 }
}