-
03. JAVA TIME Package 란?JAVA 2021. 12. 30. 22:57반응형
기존에 사용하던 java.util.Date, java.util.Calendar 기능을 대체하기위해 java8 부터 java.time package가 추가되었습니다.
java8 API에서는 java.time package를 아래와 같이 표현하고 있습니다.
The main API for dates, times, instants, and durations.
-> 날짜, 시간, 순간 및 기간에 대한 기본 API입니다.java.time은 ISO-8601 달력 시스템을 기반으로하며, 7가지 날짜/시간 유형을 제공합니다.
- Instant - a timestamp (특정한 시각을 나타내거나 기록하는 문자열)
- LocalDate - 시간이 없는 날짜
- LocalTime - 날짜가 없는 시간
- LocalDateTime - 날짜와 시간을 결합
- OffsetTime - 날짜가 없는 시간 (UTC/그리니치와의 Offset 포함)
- OffsetDateTime - 날짜와 시간을 결합 (UTC/그리니치와의 Offset 포함)
- ZonedDateTime - 날짜와 시간을 결합 (UTC/그리니치와의 Offset, ZoneOffset 포함)
아래 예시를 보면 해당 내용을 조금 더 이해하기 쉽습니다.
Instant == 2022-01-03T12:23:55.759Z LocalDate == 2022-01-03 LocalTime == 21:23:55.875 LocalDateTime == 2022-01-03T21:23:55.876 OffsetTime == 21:23:55.876+09:00 OffsetDateTime == 2022-01-03T21:23:55.876+09:00 ZonedDateTime == 2022-01-03T21:23:55.876+09:00[Asia/Seoul]
위 클래스들에 대해서는 향후 자세히 다뤄볼 예정입니다.
그리고 java.time package의 경우 아래 메서드 접두사를 사용하여 관리합니다. 그렇기때문에 접두사를 보면 어떤 역활을 하는 메소드 인지 짐작할 수 있습니다.
- of - 정적 팩토리 메소드
- parse - 구문 분석에 중점을 둔 정적 팩토리 메서드
- get - 어떤한 값을 가져오는 메소드
- is - 무언가가 사실인지 확인하는 메소드
- with - 날짜/시간을 변경하여 새로운 객체를 리턴해주는 메소드
- plus - 날짜/시간를 더하는 메소드
- minus - 날짜/시간를 빼는 메소드
- to - 다른 유형의 객체로 변경하는 메소드
- at - 다른 객체와 결합시 사용하는 메소드
java.time package에 대해 알아보았고 다음에는 각 날짜/시간 클래스에 대해서 자세히 알아보도록 하겠습니다.
반응형'JAVA' 카테고리의 다른 글
02. JAVA HttpURLConnection 활용한 API 호출하기(GET, POST, DELETE) (0) 2021.12.26 99. JAVA 7 Try 문 자원해제 (try-with-resources) (0) 2021.12.01