[java] Joda-Time으로 날짜와 시간 파싱하기

소개

Joda-Time은 Java에서 날짜와 시간을 다루기 위한 강력한 라이브러리입니다. 이 라이브러리는 Java 8 이전의 버전에서 주로 사용되었으며, 다양한 기능과 유연성으로 인해 여전히 많은 사용자들에게 인기가 있습니다. 이번에는 Joda-Time을 사용하여 문자열로부터 날짜와 시간을 파싱하는 방법에 대해 알아보겠습니다.

Maven 의존성 추가

먼저, 프로젝트의 Maven 또는 Gradle 설정 파일에 Joda-Time 라이브러리 의존성을 추가해야 합니다. Maven의 경우, 다음과 같이 의존성을 추가할 수 있습니다:

<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.10.10</version>
</dependency>

Gradle의 경우, 다음과 같이 의존성을 추가할 수 있습니다:

implementation 'joda-time:joda-time:2.10.10'

날짜와 시간 파싱하기

Joda-Time을 사용하여 문자열로부터 날짜와 시간을 파싱하는 것은 매우 간단합니다. DateTimeFormatter 클래스를 사용하여 원하는 형식으로 문자열을 해석하고, parse() 메서드를 호출하여 파싱된 DateTime 객체를 얻을 수 있습니다.

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class DateTimeParsingExample {
    public static void main(String[] args) {
        String dateString = "2021-08-10";
        String timeString = "09:30:00";

        DateTimeFormatter dateFormatter = DateTimeFormat.forPattern("yyyy-MM-dd");
        DateTimeFormatter timeFormatter = DateTimeFormat.forPattern("HH:mm:ss");

        DateTime date = dateFormatter.parseDateTime(dateString);
        DateTime time = timeFormatter.parseDateTime(timeString);

        System.out.println("Date: " + date);
        System.out.println("Time: " + time);
    }
}

위의 예제에서는 날짜와 시간을 각각 dateStringtimeString으로 초기화합니다. 그런 다음 DateTimeFormatter를 사용하여 날짜와 시간의 형식을 정의합니다. parseDateTime() 메서드를 사용하여 문자열을 파싱하고, 파싱된 날짜와 시간을 DateTime 객체로 얻어옵니다.

결과

위의 예제를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

Date: 2021-08-10T00:00:00.000+09:00
Time: 1970-01-01T09:30:00.000+09:00

파싱된 날짜와 시간은 ISO 8601 형식으로 출력됩니다.

결론

Joda-Time 라이브러리를 사용하면 Java에서 날짜와 시간을 파싱하는 것이 훨씬 간단해집니다. DateTimeFormatter 클래스를 사용하여 원하는 형식으로 문자열을 해석하고, parse() 메서드를 호출하여 파싱된 DateTime 객체를 얻을 수 있습니다. 이를 통해 날짜와 시간을 쉽게 다룰 수 있습니다.

참고 자료