미래나 과거의 날짜 계산하기

Java:
미래나 과거의 날짜 계산하기

How to: (방법)

Java에서는 LocalDate, LocalTime, LocalDateTime, Period, Duration 클래스로 날짜 계산을 쉽게 할 수 있습니다. 코드 예시를 살펴보세요.

import java.time.LocalDate;
import java.time.Period;

public class DateCalculator {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        Period tenDays = Period.ofDays(10);
        
        LocalDate tenDaysLater = today.plus(tenDays);
        System.out.println("Ten days from now: " + tenDaysLater);

        LocalDate tenDaysBefore = today.minus(tenDays);
        System.out.println("Ten days ago: " + tenDaysBefore);
    }
}

출력:

Ten days from now: 2023-04-21
Ten days ago: 2023-03-31

Deep Dive (심층 분석)

날짜 계산의 필요성은 컴퓨터 과학 초기부터 있었습니다. 그러나 초기에는 주로 Date 클래스를 사용했으나 이후 Calendar 클래스로 넘어갔고, 지금은 java.time 패키지가 더 새롭고 강력한 API를 제공합니다.

java.time은 자바 8 부터 도입되었으며, Joda-Time 라이브러리의 영향을 받았습니다. 이 패키지는 불변 객체(immutability)와 쓰레드 안전(thread safety)을 제공합니다.

PeriodDuration은 시간의 양을 표현합니다. Period는 연도, 월, 일을 기준으로 한 시간 차이를, Duration은 시, 분, 초를 기준으로 합니다.

알터너티브로, Joda-Time이나 Apache Commons Lang의 DateUtils 등 다른 라이브러리들을 사용할 수 있으나, 현대적인 자바 프로젝트는 주로 java.time 패키지를 추천합니다.

See Also (더 보기)