[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월에서 월요일이 몇 번 나타나는지 확인하는 예시입니다.
설명
java.util.LocalDate
를 사용하여 월의 첫 번째 날짜를 생성합니다.- 월이 변경되지 않는 한, 첫 번째 날짜부터 마지막 날짜까지 반복합니다.
- 반복문 내에서 현재 날짜의 요일을 확인하고, 지정한 요일과 동일한 경우
count
변수를 증가시킵니다. - 모든 날짜에 대해 확인이 끝나면, 최종적으로
count
변수 값을 출력합니다.
실행 결과
월요일이 4번 나타납니다.
실행 결과는 해당 월에 월요일이 4번 나타나는 것을 확인할 수 있습니다.