[java] Joda-Time으로 특정 월의 첫 번째 요일 구하기

Joda-Time은 Java에서 날짜 및 시간을 다루기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 특정 월의 첫 번째 요일을 구하는 것도 간단하게 할 수 있습니다.

Joda-Time 라이브러리 추가

먼저 프로젝트에 Joda-Time 라이브러리를 추가해야 합니다. 다음은 Maven을 사용하는 경우 pom.xml 파일에 의존성을 추가하는 예입니다:

<dependencies>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.10.10</version>
    </dependency>
</dependencies>

특정 월의 첫 번째 요일 구하기

다음은 Joda-Time을 사용하여 특정 월의 첫 번째 요일을 구하는 예제 코드입니다:

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        // 특정 월의 첫 번째 날짜를 생성합니다.
        String monthString = "2021-01";
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM");
        DateTime firstDayOfTheMonth = formatter.parseDateTime(monthString).dayOfMonth().withMinimumValue();

        // 첫 번째 요일을 가져옵니다.
        int firstDayOfWeek = firstDayOfTheMonth.getDayOfWeek();

        // 일요일(1)부터 토요일(7)까지 숫자로 요일을 표현합니다.
        System.out.println("첫 번째 요일: " + firstDayOfWeek);
    }
}

이 예제에서는 “2021-01”과 같이 특정 월을 입력받아 해당 월의 첫 번째 날짜를 생성합니다. 그 다음, getDayOfWeek() 메서드를 사용하여 해당 날짜의 요일을 가져옵니다. 일요일은 1부터 토요일은 7까지의 숫자로 요일을 표현합니다.

결론

Joda-Time을 사용하면 간단하게 특정 월의 첫 번째 요일을 구할 수 있습니다. 이를 활용하여 월별 달력 생성 등 다양한 작업에 유용하게 활용할 수 있습니다.

참고 자료