[java] Joda-Time으로 특정 월의 날짜 개수 구하기

Joda-Time은 Java에서 날짜와 시간을 처리하는 라이브러리로 많은 유용한 기능을 제공합니다. 이 중에서 특정 월의 날짜 개수를 구하는 방법에 대해 알아보겠습니다.

1. 의존성 추가

먼저 Joda-Time을 사용하기 위해 프로젝트의 의존성에 Joda-Time 라이브러리를 추가해야 합니다. Maven을 사용한다면 pom.xml 파일에 다음 의존성을 추가합니다:

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

Gradle을 사용한다면 build.gradle 파일에 다음 의존성을 추가합니다:

implementation 'joda-time:joda-time:2.10.10'

2. 특정 월의 날짜 개수 구하기

다음은 Joda-Time을 사용하여 특정 월의 날짜 개수를 구하는 예제 코드입니다:

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

public class Main {

    public static void main(String[] args) {

        int year = 2022;
        int month = 9;

        LocalDate startDate = new LocalDate(year, month, 1);
        LocalDate endDate = startDate.plusMonths(1).minusDays(1);

        int daysInMonth = endDate.getDayOfMonth();

        System.out.println("Days in month: " + daysInMonth);
    }
}

위 코드에서는 LocalDate를 사용하여 특정 월의 첫째 날과 그 다음달의 첫째 날을 구하고, 그 사이의 일수를 구해서 해당 월의 날짜 개수를 구할 수 있습니다.

이제 위 코드를 실행하면 해당 월의 날짜 개수가 출력됩니다.

3. 결과

다음은 2022년 9월의 날짜 개수를 구하는 경우의 실행 결과입니다:

Days in month: 30

위 결과에서 볼 수 있듯이 2022년 9월은 30일까지 있는 것을 알 수 있습니다.

참고 자료