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

Java 8에서는 기간(Duration)을 다루기 위해 java.time.Duration 클래스를 제공했습니다. 그러나 자바 11에서는 addTo() 메서드가 추가되어 기간을 특정 날짜 또는 시간에 더할 수 있게 되었습니다.

addTo() 메서드는 java.time.temporal.Temporal 인터페이스에서 상속 받은 메서드로, Temporal 객체에 기간을 더하는 기능을 제공합니다. 이를 활용하여 기간을 특정 시각에 더하거나 뺄 수 있습니다.

다음은 addTo() 메서드를 사용하여 기간을 더하는 예제입니다:

import java.time.Duration;
import java.time.LocalTime;

public class Main {
    public static void main(String[] args) {
        Duration duration = Duration.ofMinutes(30);
        
        LocalTime time = LocalTime.of(10, 0);
        System.out.println("기존 시간: " + time);
        
        // Duration을 LocalTime에 더하기
        time = time.plus(duration);
        System.out.println("더한 후 시간: " + time);
    }
}

위의 예제에서는 Duration.ofMinutes() 메서드를 사용하여 30분이라는 기간을 생성하고, LocalTime 객체인 time에 이 기간을 더해주고 있습니다.

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

기존 시간: 10:00
더한 후 시간: 10:30

addTo() 메서드를 사용하여 기간을 빼는 것도 동일한 방법으로 진행할 수 있습니다. minus() 메서드를 사용하면 됩니다.

자바 11에서 추가된 addTo() 메서드를 활용하면 기간을 특정 날짜 또는 시간에 더하거나 빼는 작업을 손쉽게 수행할 수 있습니다.


참고문서: