[java] Joda-Time으로 숫자로 표현된 Unix 시간을 날짜와 시간으로 변환하기

Unix 시간은 1970년 1월 1일 00:00:00 UTC부터 현재까지 경과한 시간을 초 단위로 표현하는 방식입니다. 이렇게 숫자로 표현된 Unix 시간을 Joda-Time 라이브러리를 사용하여 날짜와 시간으로 변환하는 방법을 알아보겠습니다.

Joda-Time 라이브러리 추가

먼저, Joda-Time 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가합니다:

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

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

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

Unix 시간을 날짜와 시간으로 변환하기

Unix 시간을 날짜와 시간으로 변환하려면 다음 단계를 따르세요:

  1. DateTime 객체를 생성하고 Unix 시간을 초로 변환합니다.
  2. DateTime 객체로부터 원하는 형식의 날짜와 시간을 추출합니다.

아래의 예제 코드는 Unix 시간을 날짜와 시간으로 변환하는 방법을 보여줍니다:

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

public class UnixTimeConverter {
    public static void main(String[] args) {
        long unixTime = 1632139200; // 예시: 2021년 9월 21일 00:00:00의 Unix 시간

        DateTime dateTime = new DateTime(unixTime * 1000L); // Unix 시간을 밀리초로 변환하여 DateTime 객체 생성

        // 날짜와 시간 형식을 지정합니다.
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");

        // DateTime 객체를 문자열로 변환하여 출력합니다.
        String formattedDateTime = formatter.print(dateTime);
        System.out.println(formattedDateTime);
    }
}

위의 코드를 실행하면 Unix 시간인 16321392002021-09-21 00:00:00 형식으로 변환되어 출력됩니다.

Joda-Time을 사용하여 Unix 시간을 날짜와 시간으로 변환하는 방법에 대해 알아보았습니다. 이를 활용하여 Unix 시간을 다양한 형식의 날짜와 시간으로 변환할 수 있습니다.

참고 자료