[ios] Date에 대해 알아보기

감자·2020년 9월 29일
0

ios

목록 보기
5/9

why?

->
평소에 날짜와 관련된 작업을 하게될 일이 있으면 그냥 Date()와 DateFormatter를 이용해서 사용하기 해왔었다. 그러다 문득 ios에서 날짜를 어떻게 다루는지가 궁금해서 공부하여 정리하기로 했다.

what?

->

  1. 날짜를 다루는 자료형?
    ios의 코코아 터치 프레임워크는 날짜를 다룰 수 있는 자료형을 아래와 같이 정의하고 개발자들에게 제공하고 있다.
    위 그림에서 보면 굉장히 많은 자료형이 코코아 터치 프레임워크에 만들어져있고 실제 개발자들이 날짜를 다루때는 위 자료형을 사용해서 다루게된다.
  • 예전에는 class로 만들어진 자료형만 제공했지만, 이후에 구조체로 만들어진 자료형 또한 제공되었다.
  1. Date

let date = Date()
  • Date구조체는 인스턴스화가 되면 그 안에 기준 시간으로부터 현재까지 경과된 초단위에 값이 들어가있다.
  • 위에서 말한 기준시간을 'Reference Date'라고한다
  • UTC를 기준으로 한다.
  1. Calender
  • Date의 인스턴스는 Reference Date로 부터 현재까지 경과된 초단위 시간이 담겨있다. 이런 Date를 이용해서 년,월,일을 사용하려면 Calender자료형을 이용해야한다.(DateComponents와 함께 사용할 수 있다.)
  1. DateComponts
  • Calender System과 time Zone에서 Date인스턴스에 저장된 초시간을 년,원,일,시,분,초 등의 단위로 표현할 수 있다.
let calender = Calender.current // 현재 아이폰에서 사용하는 달력의 설정 그대로 사용(양력을 사용하면 양력을 사용하여 표시한다.)
let now = Date()
let components = calender.dateComponents([.year, .month, .day], from: now)

let year = calender.components(.year, from: now)
  1. Timezone
  • timeZone과 관련되 일을 수행한다.(우리나라는 UTC보다 9시간 빠른 KTC를 사용한다.)

0개의 댓글