상세 컨텐츠

본문 제목

Java의 시간 날짜 라이브러리 소개

Java

by Wanderer Kim 2025. 5. 11. 19:01

본문

728x90

java.time 패키지에서 제공하는 시간/날짜 라이브러리에 대해서 정리해보았다.

아래 표는 java.time 패키지에있는 시간/날짜 관련 class및enum을 정리한 표이다.

 

LocalDate, LocalTime, LocalDateTime

  • LocalDate: 날짜만 표현할 때 사용한다. 년,월,일을 다룬다
  • LocalTime: 시간만을 표현할 때 사용한다. 시,분,초를 다룬다.
  • LocalDateTime: LocalDate와 LocalTime을 합한 개념이다.

앞에 Local이 붙는 이유는 세계 시간대를 고려하지 않아서 timezone이 적용되지 않기 때문이다. 특정 지역의 날짜와 시간만 고려할 때 사용한다.

 

ZonedDateTime, OffsetDateTime

  • ZonedDateTime: 시간대를 고려한 날짜와 시간을  표현할 때 사용한다. 여기에는 시간대를 표현하는 timezone이 포함된다.
  • OffsetDateTime: 시간대를 고려한 날짜와 시간을 표현할 때 사용한다. 여기에는 timezone이 포함되지 않고, UTC로 부터의 시간대 차이인 offset만 포함한다.

Asia/Seoul 같은 timezone 안에는 일광 절약 시간제애 대한 정보와 UTC로부터 시간 차이인 offset 정보를 모두 포함하고 있다.

일광 정갸 시간제를 알려면 timezone을 알아야 한다. 따라서 ZoneDateTIme은 일광 정갸 시간제를 함께 처리한다. 반면에 timezone을 알 수 없는 OffsetDateTime은 일광 절약 시간제를 처리하지 못한다.

ZoneDateTime은 시간대를 고려해야 할 때 실제 사용하는 날짜와 시간정보를 나타내는 데 적합하고, OffsetDateTime은 UTC로부터의 고정된 offset만을 고려해야 할 때 유용하다.

 

Instant

UTC를 기준으로 하는 시간의 한 지점을 나타낸다.Instant는 날짜와 시간을 나노초 정밀도로 표혆하며, 1970년 1월 1일 0시 0분 0초를 기준으로 경과한 시간으로 계산된다.

 

Period, Duration

  • period: 두 날짜 사이의 간격을 년,월,일 단위로 나타낸다.
  • duration: 두 시간 사이의 간격을 시,분,초 단위로 나타낸다.
반응형

'Java' 카테고리의 다른 글

Process와 Thread  (2) 2025.05.16
LocalDate, LocalTime, LocalDateTime  (0) 2025.05.13
Java Generics에서 extends와 super의 차이점  (2) 2025.05.06
Object class  (0) 2025.02.16
Concurrent Random Number  (0) 2024.09.24

관련글 더보기

댓글 영역