[java] 자바 11에서 추가된 YearMonth 클래스의 atEndOfMonth() 메서드 사용하기

자바 11에서는 YearMonth 클래스에 atEndOfMonth() 메서드가 추가되었습니다. 이 메서드를 사용하면 해당 YearMonth 인스턴스의 월의 마지막 날짜를 반환할 수 있습니다.

YearMonth 클래스란?

YearMonth 클래스는 연도와 월을 함께 저장하는 클래스입니다. 예를 들어, “2022년 3월”과 같은 연도와 월을 표현할 때 사용할 수 있습니다. YearMonth 클래스는 불변 객체이므로 한 번 생성되면 변경할 수 없습니다.

atEndOfMonth() 메서드 사용하기

atEndOfMonth() 메서드는 현재 YearMonth 객체의 월의 마지막 날짜를 반환합니다. 이 메서드는 LocalDate 객체를 반환하며, 해당 월의 마지막 날짜로 초기화된 LocalDate를 생성합니다.

다음은 YearMonth 클래스의 atEndOfMonth() 메서드를 사용하는 예제입니다.

import java.time.YearMonth;
import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        // 현재 연도와 월을 나타내는 YearMonth 객체 생성
        YearMonth yearMonth = YearMonth.now();

        // atEndOfMonth() 메서드를 호출하여 월의 마지막 날짜 구하기
        LocalDate endOfMonth = yearMonth.atEndOfMonth();

        System.out.println("현재 월의 마지막 날짜: " + endOfMonth);
    }
}

위 예제에서는 YearMonth.now()를 사용하여 현재 연도와 월을 나타내는 YearMonth 객체를 생성합니다. 그리고 atEndOfMonth() 메서드를 호출하여 해당 월의 마지막 날짜인 LocalDate 객체를 얻습니다. 마지막으로, 해당 날짜를 출력합니다.

실행 결과는 다음과 같을 것입니다.

현재 월의 마지막 날짜: 2022-01-31

따라서, 현재 월의 마지막 날짜는 “2022-01-31”입니다.

참고 자료