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

2021. 3. 19. 20:42· Kotlin/Time
목차
  1. 목표
  2. 개요
  3. 공통 메서드
  4. 목차
  5. 날짜, 시간 클래스  
반응형

목표

  • 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] 날짜, 시간 한 번에 다루기

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

  • [Duration Class] 초와 나노초 단위로 시간의 구간을 표현하는 클래스
  • [Period Class] 년,월,일로 시간의 구간을 표현하는 클래스

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

  • [ZonedDateTime Class] 시간대를 포함하는 날짜, 시간 클래스

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

  • [Instant Class] 기계 관점에서의 시간
반응형
  1. 목표
  2. 개요
  3. 공통 메서드
  4. 목차
  5. 날짜, 시간 클래스  


 

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

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

open.kakao.com

'Kotlin/Time' 카테고리의 다른 글
  • Kotlin ZonedDateTime Class 을 이용하여 시간대를 포함하는 날짜, 시간 다루기
  • [Kotlin] LocalDateTime Class - 날짜, 시간을 한 번에 다루는 클래스
  • Kotlin LocalTime Class를 이용해서 시간(시, 분, 초) 다루기
  • Kotlin LocalDate Class를 이용하여 날짜(연, 월, 일) 다루기
Dev.Cho
Dev.Cho
'조세영의 Kotlin World'는 Kotlin를 전문적으로 다루는 개인 기술 블로그입니다. Kotlin 세계에 대한 양질의 자료를 제공하며 Kotlin, Android, Spring, CI, CD 분야에 대해 다룹니다.
Dev.Cho
조세영의 Kotlin World
Dev.Cho
전체
오늘
어제

블로그 메뉴

  • LinkedIn
  • GitHub
  • 분류 전체보기 (491)
    • Kotlin (104)
      • Class and Interface (19)
      • Variable and Function (8)
      • Modifier (5)
      • Collection (14)
      • Time (8)
      • 동시성 제어 (7)
      • Reactive Programming (2)
      • Paradigm (2)
      • Kotlin 자료구조 (15)
      • Design Patterns (11)
      • Algorithm (3)
      • Exception (1)
      • 기타 (9)
      • Update History (0)
    • Coroutines (32)
      • Coroutine Basics (18)
      • Flow (9)
      • CoroutineScope (3)
      • Debugging (2)
    • Testing Codes (28)
      • Test 기본 (3)
      • JUnit5 (9)
      • MockK (6)
      • Testing Coroutines (1)
      • Testing Android (8)
      • Test 기타 (1)
    • Spring (50)
      • Dependency Injection (18)
      • Settings (5)
      • REST API (0)
      • DevTools (1)
      • MVC (18)
      • Error (2)
      • MongoDB (2)
      • Database (4)
    • Android (39)
      • Architecture (2)
      • Component (5)
      • Manifest (1)
      • Lifecycle (2)
      • Dependency Injection (17)
      • Resource (1)
      • Storage (1)
      • Security and Optimization (1)
      • WebView (2)
      • Error (6)
    • Android Jetpack Compose (33)
      • Compose (6)
      • Compose Modifier (13)
      • Compose Resource (4)
      • Compose State (4)
      • Compose Side Effect (6)
    • Android Jetpack Compose UI (48)
      • Compose Layout (14)
      • Compose Text (10)
      • Compose Button (5)
      • Compose Dialog (2)
      • Compose TextField (0)
      • Compose UIs (4)
      • Compose Animation (1)
      • Compose Canvas (12)
    • Android Jetpack (10)
      • Datastore (5)
      • ViewModel (4)
      • LiveData (1)
      • Paging (0)
    • KMP (5)
    • Programming (4)
    • Machine (9)
      • JVM (7)
      • Linux (2)
    • CI, CD (74)
      • Gradle (12)
      • Groovy Gradle (5)
      • Git (25)
      • Git Remote (5)
      • GitHub (5)
      • GitHub Actions (21)
    • Network (33)
      • GraphQL (12)
      • HTTP (11)
      • Basic (9)
    • 오픈소스 (3)
    • Database (3)
      • MongoDB (3)
    • IDE (6)
      • Android Studio (2)
      • Intellij (4)
    • Firebase (1)
    • Javascript (9)

공지사항

  • 코틀린 코루틴 완전 정복 강의 in 인프런 오픈
  • 코틀린 코루틴의 정석 책 출간
  • Kotlin Coroutines 공식 기술 문서 한국어 번⋯
  • GitHub에서 조세영의 Kotlin World를 Foll⋯
  • 문의&제안

인기 글

태그

  • dagger2
  • github
  • 코틀린
  • Unit Testing
  • compose
  • flow
  • Coroutine
  • 스프링
  • HTTP
  • github actions
  • Kotlin
  • Android
  • Dependency Injection
  • 안드로이드
  • Class
  • junit4
  • Spring boot
  • gradle
  • junit
  • junit5
  • 코루틴
  • kotlin spring
  • 유닛 테스팅
  • Android Compose
  • GraphQL
  • Jetpack Compose
  • Spring
  • 의존성 주입
  • java
  • GIT

최근 글

반응형
hELLO · Designed By 정상우.v4.3.0
Dev.Cho
[Kotlin] 날짜, 시간 제대로 다루기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.