+ Date

* TimeZone

 날짜정보를 사용하다 보면 날짜를 포멧에 맞춰 출력을 해줘야 하는 경우가 많다.
이때 날짜를 찍어보면 설정한 날짜와 화면에 보이는 날짜나 시간 정보가 몇 시간 빠르게 혹은 느리게 보여지는 경우가 있다.
이는 현재 지역의 타임존과 기본적으로 설정되어 있는 타임존 정보가 틀려발생하는 것 같다.
지금은 시간이 없으니 자세한건 나중에 알아보도록 하자.

자 아래 예를 보자

실제로 설정한 날은 "2017-12-25 00:00:00" 이다.
하지만 print를 보면은 "2017-12-24 15:00:00" 으로 나타난다.
맙소사... 내가 원하는 건 이게 아니다.

원하는 값으로 나오 도록 하려면 타임존을 설정해 주면 된다.
abbreviation을 "UTC"로 해주면 한국 시간과 맞게 나온다.
abbreviation은 여러 타입이 있으니 해외에 거주하는 사람은 해당 지역 타임존 타입을 찾아 보길 바란다.

let locale = NSTimeZone.init(abbreviation: "UTC")

NSTimeZone.default = locale as! TimeZone

자 이제 타임존을 설정해 주고 결과 값을 보자
 

원하는 값이 나왔는가?



'Swift > Swift Basic (3.0Base)' 카테고리의 다른 글

String  (0) 2017.02.17
Tuple (튜플)  (0) 2017.02.10
Closure  (0) 2017.02.10

+ Recent posts