[java] Apache Commons Lang 을 사용하여 날짜와 시간을 빼는 방법

Apache Commons Lang은 자바 개발자들에게 유용한 유틸리티 클래스와 함수를 제공하는 오픈 소스 라이브러리입니다. 이 라이브러리를 사용하면 간편하게 날짜와 시간에 대한 다양한 작업을 수행할 수 있습니다. 이제 Apache Commons Lang을 사용하여 날짜와 시간을 빼는 방법에 대해 알아보겠습니다.

1. Apache Commons Lang 의존성 추가하기

먼저 프로젝트에 Apache Commons Lang 의존성을 추가해야 합니다. 다음은 Maven을 사용하는 경우 pom.xml에 의존성을 추가하는 예시입니다.

<dependencies>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.12.0</version>
    </dependency>
</dependencies>

Gradle을 사용하는 경우에는 build.gradle 파일에 의존성을 추가합니다.

dependencies {
    implementation 'org.apache.commons:commons-lang3:3.12.0'
}

2. 날짜와 시간 빼기

Apache Commons Lang의 DateUtils 클래스를 사용하여 날짜와 시간을 뺄 수 있습니다. 다음은 DateUtils 클래스를 사용하여 날짜와 시간을 뺄 수 있는 예시 코드입니다.

import org.apache.commons.lang3.time.DateUtils;
import java.util.Date;

public class DateSubtractionExample {

    public static void main(String[] args) {
        // 현재 날짜와 시간을 가져옵니다.
        Date currentDate = new Date();
        
        // 1일 전의 날짜와 시간을 계산합니다.
        Date oneDayBefore = DateUtils.addDays(currentDate, -1);
        
        // 1주일 전의 날짜와 시간을 계산합니다.
        Date oneWeekBefore = DateUtils.addWeeks(currentDate, -1);
        
        // 1달 전의 날짜와 시간을 계산합니다.
        Date oneMonthBefore = DateUtils.addMonths(currentDate, -1);
        
        // 결과 출력
        System.out.println("1일 전: " + oneDayBefore);
        System.out.println("1주일 전: " + oneWeekBefore);
        System.out.println("1달 전: " + oneMonthBefore);
    }
}

위의 예시 코드에서는 DateUtils.addDays, DateUtils.addWeeks, DateUtils.addMonths 메소드를 사용하여 날짜와 시간을 뺄 수 있습니다. 이렇게 계산된 결과는 Date 객체로 반환됩니다.

결과

위의 예시 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

1일 전: Tue Nov 16 15:24:28 KST 2021
1주일 전: Tue Nov 09 15:24:28 KST 2021
1달 전: Sun Oct 17 15:24:28 KST 2021

결론

Apache Commons Lang 라이브러리를 사용하여 자바에서 날짜와 시간을 뺄 수 있습니다. DateUtils 클래스의 메소드를 이용하면 간편하게 날짜와 시간을 계산할 수 있습니다. 이를 통해 복잡한 날짜 및 시간 연산을 간단하게 처리할 수 있습니다.

참고 자료