티스토리 뷰

반응형

 

 

안녕하세요. iOS Developer, 멍구입니다!

간혹 iOS개발을 하시다보면 Date구조체를 생성하고 시간값을 처리해야하는 상황이 오기 마련인데요.

오늘은 이에 대비해서 서버 ~ 클라이언트 간 시간값 처리에 자주사용하는 타임스탬프(timeStamp)값을 사용해서 Date 구조체를 생성하고, 다시 Date 구조체로부터 년, 월, 일, 시, 분, 초 등의 값을 얻는 방법을 간단하게 알아보겠습니다. 👨🏻‍💻

 

 


timeStamp값으로 Date생성 후 시간 값 다루기

 

시간값 -> timeStamp, timeStamp -> 시간값으로 변환해주는 사이트 ▼

Epoch Converter

Convert Unix Timestamps (and many other date formats) to regular dates.

www.epochconverter.com

 

 

먼저 이번 예제에서는 위와 같이 특정 시간의 타임스탬프(timeStamp)값을 얻을 수 있는 사이트를 사용해서 특정 시간의 타임스탬프 값을 가져오겠습니다. 제 경험 상, 클라이언트 ~ 서버 간에 시간값을 다룰 때 타임스탬프(timeStamp)값을 자주 사용하는 것으로 알고 있어서 알아두면 좋을 것 같습니다. 

원하는 시간대를 선택 후에 "Human date to timestamp" 버튼을 눌러주면, timeStamp값을 얻을 수 있어요. 위의 사진에서는 "1599811410" 이 timeStamp 값이 되겠습니다.

위의 사이트에서는 특정 시간에 대한 timeStamp값을 얻을 수 있습니다. 그 반대로 변환할 수도 있어서 알아두면 좋은 사이트가 될 것 같습니다. 

 

 

 


timeStamp 값으로 Date 구조체 생성하기

 

 

먼저 Date 구조체 사용을 위해서는 Foundation 프레임워크를 반드시 import해주셔야 합니다. 

이후에 앞서 얻었던 타임스탬프 값을 통해서 Date 구조체를 생성해줍니다. 생성자의 인자는 timeIntervalSince1970: 라벨의 인자를 사용해줍니다.

이렇게 하면 해당 timeStamp에 맞는 Date 구조체를 생성할 수 있습니다. 해당 Date는 앞서 생성자에 넣었던 timeStamp의 시간 정보를담게 됩니다. 

 

 


생성한 Date 구조체로부터 시간값 얻기

 

 

이후에 Calendar의 다양한 옵션을 활용해서 Date의 시간값을 얻는 방법을 알아보겠습니다.

Calendar에서 static변수인 current를 변수로 설정 합니다.(이후 내부 변경이 없기때문에 상수로 지정해도 됩니다.) current 또한 Calendar 타입을 갖고 있습니다.

이후에 해당 calendar 변수의 component 옵션을 지정하고, 앞서 생성했던 Date 구조체를 인자로 넣어주면 옵션에 맞는 날짜, 시간값을 얻을 수 있습니다. 

얻을 수 있는 시간값은 위와 같이 다양한데요. .year / .month / .day / .hour / .minute / .second 등 다양한 옵션을 넣어서 원하는 시간값을 꺼내서 사용할 수 있습니다. 

이렇게 간단하게 timeStamp값으로 특정 Date 구조체를 생성하고, 다시 Date구조체로부터 특정 시간값을 얻어올 수 있었습니다.

 


지금까지 간단하게, timeStamp값을 통해 원하는 특정 시간정보를 갖는 Date 구조체를 생성하는 방법, Date 구조체 값으로부터 원하는 시간값을 꺼내어 사용하는 방법을 알아보았습니다. 😊

 
그 외에 dateFormatter 등으로 원하는 포맷에 맞게 날짜, 시간값을 출력할수도 있는데요. 관심있으시면 찾아보시길 바랍니다.

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함