목표
- time 패키지를 이용해 날짜, 시간을 제대로 다루는 방법을 안다.
- Temporal 객체가 무엇인지 이해한다.
개요
기존 Date 클래스와 Calendar 클래스는 날짜와 Timezone 관련되어 개발자를 헷갈리게 하는 부분이 많았습니다. 이에 대한 대체제로 Temporal Interface를 구현하는 LocalDateTime, LocalDate, LocalTime가 java 1.8에서 등장하였습니다.
* 아래에서는 LocalDateTime, LocalDate, LocalTime을 통틀어 Temporal 객체라 부르도록 하겠습니다.
클래스명 | 설명 |
LocalDate | 날짜를 표현하는 불변 객체 |
LocalTime | 시간을 표현하는 불변 객체 |
LocalDateTime | 날짜와 시간을 표현하는 불변 객체 |
*불변 객체 : 날짜나 시간을 변경하기 위해 인스턴스 자체를 변경하지 못하고 새로운 날짜를 만든 인스턴스를 반환한다
공통 메서드
이러한 Temporal 객체를 생성하는 객체 생성 정적 메서드가 LocalDateTime, LocalDate, LocalTime 에 들어가 있습니다. 이 글에서는 이런 것이 있다 정도만 알고 나머지는 아래 목차에서 클래스들을 살펴보면서 클래스에서 이 메서드들을 어떻게 사용하는지 살펴볼 것입니다.
메서드 | 설명 |
from | *Temporal 객체를 이용하여 클래스의 인스턴스(Temporal 객체)를 생성함 |
now | 현재 시스템 시간으로 클래스의 인스턴스(Temporal 객체)를 생성함 |
of | 값(연,월,일,시,분,초)을 입력하여 클래스의 인스턴스(Temporal 객체)를 생성함 |
parse | 날짜, 시간 String을 인식하여 클래스의 인스턴스(Temporal 객체)를 생성함 |
*Temporal 객체 : Temporal 객체란 Temporal interface를 구현하는 클래스의 객체이다. LocalDate, LocalTime, LocalDateTime은 모두 Temporal 객체이다.
목차
날짜, 시간 클래스
시간대(Timezone)를 포함하지 않는 날짜, 시간 클래스
- [LocalDate Class] 날짜(연, 월, 일) 다루기
- [LocalTime Class] 시간(시, 분, 초) 다루기
- [LocalDateTime Class] 날짜, 시간 한 번에 다루기
시간 클래스 사이의 간격 구하기
시간대를 포함하는 날짜, 시간 클래스
기계 관점에서의 날짜와 시간을 표현하는 클래스
반응형