Java
OffsetDateTime
Wanderer Kim
2025. 5. 23. 17:49
반응형
java에서 시간을 다루는 클래스들 중 offset 정보를 가지고 있는 OffsetDateTime에 대해서 알아보자
OffsetDateTime란?
OffsetDateTime 클래스는 LocalDateTime 정보와 UTC offset 정보인 ZonedOffset이 합쳐진 것이다.
public class OffsetDateTime {
private final LocalDateTime dateTime;
private final ZoneOffset offset;
}
OffsetDateTime은 시간대를 고려한 날짜와 시간을 표현할 때 사용한다. 해당 클래스에는 TimeZone은 없고 Offset정보만 표시된다.
- 표시 예시: 2013-11-21T08:20:30.213+9:00
사용 예제 코드
package time;
import java.time.*;
public class OffsetDateTimeMain {
public static void main(String[] args) {
OffsetDateTime nowOdt = OffsetDateTime.now();
System.out.println("nowOdt = " + nowOdt);
LocalDateTime ldt = LocalDateTime.of(2030, 1, 1, 13, 30, 50);
System.out.println("ldt = " + ldt);
OffsetDateTime odt = OffsetDateTime.of(ldt, ZoneOffset.of("+01:00"));
System.out.println("odt = " + odt);
}
}
nowOdt = 2024-02-13T15:03:36.422230+09:00
ldt = 2030-01-01T13:30:50
odt = 2030-01-01T13:30:50+01:00
- now(): 시스템 타임을 기준으로 현재 날짜, 시간 및 오프셋 정보를 얻는다.
- of(): 특정 년,월,일 시간 및 오프셋 정보를 기준으로 OffsetDateTime을 얻는다.
728x90