Image
Kotlin/Time

[Kotlin] 날짜, 시간 제대로 다루기

목표

  • 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)를 포함하지 않는 날짜, 시간 클래스

시간 클래스 사이의 간격 구하기

시간대를 포함하는 날짜, 시간 클래스

기계 관점에서의 날짜와 시간을 표현하는 클래스

반응형

 

이 글의 저작권은 '조세영의 Kotlin World' 에 있습니다. 글, 이미지 무단 재배포 및 변경을 금지합니다.

 

 

Kotlin, Android, Spring 사용자 오픈 카톡

오셔서 궁금한 점을 질문해보세요!
비밀번호 : kotlin22

open.kakao.com