[java] 자바 8부터 추가된 TemporalAdjusters 클래스의 활용 방법

자바 8부터 도입된 TemporalAdjusters 클래스는 날짜 및 시간 조정에 유용한 기능을 제공합니다. 이 클래스는 java.time.temporal.TemporalAdjuster 인터페이스를 구현한 메소드를 제공하여, 날짜와 시간을 조정할 때 사용할 수 있습니다.

TemporalAdjusters 클래스 예제

다음은 TemporalAdjusters 클래스의 주요 메소드를 사용한 예제입니다.

import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;

public class TemporalAdjustersExample {
    public static void main(String[] args) {
        // 현재 날짜
        LocalDate now = LocalDate.now();
        System.out.println("현재 날짜: " + now);

        // 현재 달의 첫 번째 일요일
        LocalDate firstSundayOfMonth = now.with(TemporalAdjusters.firstInMonth(DayOfWeek.SUNDAY));
        System.out.println("현재 달의 첫 번째 일요일: " + firstSundayOfMonth);

        // 다음 월요일
        LocalDate nextMonday = now.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
        System.out.println("다음 월요일: " + nextMonday);

        // 이번 달 마지막 날짜
        LocalDate lastDayOfMonth = now.with(TemporalAdjusters.lastDayOfMonth());
        System.out.println("이번 달 마지막 날짜: " + lastDayOfMonth);
    }
}

위의 예제에서는 TemporalAdjusters.firstInMonth(), TemporalAdjusters.next(), TemporalAdjusters.lastDayOfMonth() 메소드를 사용하여 날짜 조정을 수행하였습니다. 각각 첫 번째 일요일, 다음 월요일, 이번 달 마지막 날짜를 구하는 예제입니다.

출력 결과는 다음과 같습니다:

현재 날짜: 2022-01-01
현재 달의 첫 번째 일요일: 2022-01-02
다음 월요일: 2022-01-03
이번 달 마지막 날짜: 2022-01-31

TemporalAdjusters 클래스의 다양한 메소드

TemporalAdjusters 클래스는 위의 예제에서 사용한 메소드 외에도 다양한 메소드를 제공합니다. 이를 통해 다음과 같은 작업을 수행할 수 있습니다:

이 외에도 dayOfWeekInMonth(), previous(), previousOrSame() 등 다양한 메소드가 있으며, 필요에 따라 사용할 수 있습니다.

더 자세한 내용은 Java 공식 문서를 참조하십시오.

이렇게 TemporalAdjusters 클래스를 활용하면 날짜와 시간을 조정하는 작업을 더욱 쉽고 간편하게 처리할 수 있습니다.