[java] Joda-Time으로 특정 주차의 첫 번째 날짜와 마지막 날짜 구하기

자바의 Joda-Time 라이브러리는 날짜와 시간을 다루기 위한 강력한 도구입니다. 이 라이브러리를 사용하여 특정 주차의 첫 번째 날짜와 마지막 날짜를 구할 수 있습니다.

예제 코드

다음은 Joda-Time을 사용하여 특정 주차의 첫 번째 날짜와 마지막 날짜를 구하는 예제 코드입니다. 이 예제에서는 DateTime 클래스를 사용하고, 첫 번째 날짜는 해당 주차의 월요일로 설정하고, 마지막 날짜는 해당 주차의 일요일로 설정합니다.

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

public class WeekDatesExample {
    public static void main(String[] args) {
        // 특정 주차의 첫 번째 날짜와 마지막 날짜를 구하기 위해 주차와 연도를 입력합니다.
        int weekNumber = 42;
        int year = 2021;
        
        // 주차와 연도를 기반으로 첫 번째 날짜와 마지막 날짜를 계산합니다.
        DateTime firstDateOfWeek = new DateTime().withWeekyear(year).withWeekOfWeekyear(weekNumber).withDayOfWeek(DateTimeConstants.MONDAY);
        DateTime lastDateOfWeek = firstDateOfWeek.plusDays(6);
        
        // 결과 출력
        System.out.println("첫 번째 날짜: " + firstDateOfWeek.toString("yyyy-MM-dd"));
        System.out.println("마지막 날짜: " + lastDateOfWeek.toString("yyyy-MM-dd"));
    }
}

위의 예제 코드에서는 DateTime 클래스의 withWeekyear, withWeekOfWeekyear, withDayOfWeek 메소드를 사용하여 주차와 연도를 기준으로 첫 번째 날짜와 마지막 날짜를 계산합니다. 마지막으로 toString 메소드를 사용하여 결과를 출력합니다.

참고 자료