[java] Joda-Time으로 특정 날짜의 다음 요일 구하기

Joda-Time은 Java에서 날짜와 시간을 다루기 위한 유용한 라이브러리입니다. 이 라이브러리를 사용하여 특정 날짜의 다음 요일을 구하는 방법을 알아보겠습니다.

먼저, Joda-Time 라이브러리를 프로젝트에 추가해야 합니다. Maven이나 Gradle과 같은 빌드 도구를 사용하고 있다면, 해당 빌드 도구의 의존성 섹션에 Joda-Time 라이브러리를 추가하시면 됩니다.

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

다음으로, 구하고자 하는 특정 날짜와 요일을 지정해야 합니다. 예를 들어, “2021-11-01”부터 시작하여 다음 “화요일”을 구하고 싶다고 가정해보겠습니다.

import org.joda.time.DateTime;
import org.joda.time.DateTimeConstants;

public class NextDayOfWeekExample {
    public static void main(String[] args) {
        DateTime startDate = new DateTime(2021, 11, 1, 0, 0); // 시작 날짜 설정
        int targetDayOfWeek = DateTimeConstants.TUESDAY; // 구하고자 하는 요일 설정

        DateTime nextDayOfWeek = startDate.withDayOfWeek(targetDayOfWeek);
        
        System.out.println("다음 화요일: " + nextDayOfWeek.toString("yyyy-MM-dd"));
    }
}

위의 예제 코드에서는 DateTime 클래스와 DateTimeConstants 클래스를 사용하여 날짜와 요일을 다루고 있습니다. withDayOfWeek() 메서드를 사용하여 특정 요일로 설정된 날짜를 반환받을 수 있습니다.

실행하면 “2021-11-02”라는 결과가 출력됩니다. 이는 “2021-11-01”부터 시작하여 다음 화요일인 날짜입니다.

이와 같은 방법으로 Joda-Time을 사용하여 특정 날짜의 다음 요일을 구할 수 있습니다.

참고 자료