티스토리 뷰

반응형

안녕하세요 :) 오늘은 Swift의 Date. 즉, 날짜와 시간에 대해서 알아볼거에요.

처음 Date를 접하면, 정말 "어렵다"라고 느껴질 수 있어요. 저도 그랬구요..

저같은 분들을 위해 정말 차근차근 설명 드릴려고해요 :)

빠르게 시작해봅시다. 글이 꽤 길어질 것 같으니..글을 좀 나눠서 써야할 것 같네요 XD



Swift에서 날짜와 시간(Date)사용해보기



먼저 프로젝트를 만드셔도 되지만, 저는 플레이그라운드에서 하겠습니다 :)



1. Date사용해보기


자, 이렇게 간단하게 Date를 쓸 수 있는데요, 보시는 것과같이 Date는 시간의 어떤 한 포인트를 나타내요. 그 순간만을 나타내는 것이죠. 

그래서 Date는 특정 시간대와 캘린더에 상관이 없어요. 

나는 지금 이 순간의!!시간을 알고싶어!! 할 때 이 Date를 쓰면 좋겠죠?



2. Calendar사용해보기


자, 캘린더가 뭔가요? 

네! 당연히 달력이죠?

혹시 우리나라는 어떤 역법을 쓰고 있는지 아시나요?XD


우리나라는 태양력의 "그레고리력"을 쓰고 있습니다. 

짠! 

Calendar는 이름에서 알 수 있듯이 달력과 관련된 일을 해요. 

그러니까 현재 달력이 뭐냐? 라고 물어보면 

어 너 그레고리력 쓰고 있어! 라고 말해주는거죠.


참고로 내가 쓰고 있는 역법을 String으로 가져오고싶다면,

이렇게 가져오시면 된답니다. 





3. Date와 Calendar를 이용하여 현재 년, 월, 일, 시, 분, 초 가져오기


엥 Date는 절대시간을 알려준다고 그랬고, Calendar는 달력인데 저런걸 가져올 수 있나요?

네! 가져올 수 있어요. 지금 Date에는 정보는 정말 시간의 한 점, 딱 그 순간의 시간을 가져오는데, 아까 봤다시피


이 안에는 년, 월, 일, 시, 분이 있습니다. 보이진 않지만, 초도 들어있는 것 같아요.

지금은 저렇게 한 줄로 되어있지만, 언젠가 저기서 월만을 가져와야 할 수도 있고, 시간만 가져와야 할 때도 있을거에요.

그때! Calendar를 사용하면 Date의 여러 정보들을 가져올 수 있게 됩니다. 

바로 component메소드를 이용해서 말이죠. component메소드는 Int타입을 리턴합니다. 


dateComponent메소드를 이용하면,



이렇게 한번에 여러 요소?들을 가져올 수 있습니다.

그럼 저 arr에는 뭐가 담기게 되느냐? 




arr라는 변수는 뭔가 배열을 리턴받는 느낌이니까 변수명을 고쳤어요.

정확히는 DateComponent타입을 리턴받습니다.

그래서 저기서 year만 가져오고싶으면, 

print(components.year!)//2017

이런식으로 하면 된답니다. 





반응형