[java] Joda-Time으로 특정 요일이 특정 월에 몇 번 나타나는지 확인하기

Joda-Time은 Java에서 날짜와 시간을 조작하기 위한 라이브러리입니다. 이 라이브러리를 사용하여 특정 요일이 특정 월에 몇 번 나타나는지 확인할 수 있습니다.

코드 예시

import org.joda.time.DateTime;
import org.joda.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        int year = 2022;
        int month = 1;
        int dayOfWeek = 1; // 0은 일요일, 1은 월요일, ..., 6은 토요일

        LocalDate date = new LocalDate(year, month, 1);
        int count = 0;

        while (date.getMonthOfYear() == month) {
            if (date.getDayOfWeek() == dayOfWeek) {
                count++;
            }
            date = date.plusDays(1);
        }

        System.out.println("월요일이 " + count + "번 나타납니다.");
    }
}

위의 코드는 2022년 1월에서 월요일이 몇 번 나타나는지 확인하는 예시입니다.

설명

  1. java.util.LocalDate를 사용하여 월의 첫 번째 날짜를 생성합니다.
  2. 월이 변경되지 않는 한, 첫 번째 날짜부터 마지막 날짜까지 반복합니다.
  3. 반복문 내에서 현재 날짜의 요일을 확인하고, 지정한 요일과 동일한 경우 count 변수를 증가시킵니다.
  4. 모든 날짜에 대해 확인이 끝나면, 최종적으로 count 변수 값을 출력합니다.

실행 결과

월요일이 4번 나타납니다.

실행 결과는 해당 월에 월요일이 4번 나타나는 것을 확인할 수 있습니다.

참고 자료