반응형
iOS개발을 하다보면 시스템 시간을 알아야할 때가 있습니다. 그때 Android의 경우에는 System.currentTimeMills를 사용하면 되는데 iOS에서는 어떻게 처리하는지 알아보겠습니다.
기본 사용방법
iOS의 경우에는 아래 처럼 사용하면 됩니다.
let now = Date().timeIntervalSince1970
위와 같이 작성할 경우 날짜 객체와 1970년 1월 1일 00:00:00 UTC 사이의 간격, 즉 얼마나 시간이 흘렀는지를 알수 있습니다.
Android 동일한 서버에서 시간을 등록해야할 경우
한 서버에 시간 관련 데이터를 올려줄 경우 android의 경우에는 System.currentTimeMills를 사용하기 때문에 밀리세컨드로 이를 사용합니다. 하지만 위의 코드에서 볼 수 있듯이 Swift의 timeIntervalSince1970은 초로 이를 연산합니다. 즉, 안드로이드는 현재시간을 밀리세컨드로 iOS에서는 초로 구분하기 때문에 이를 맞춰줘야 합니다.
초를 기준으로 할 경우
초를 기준으로 작업을 한다면 iOS에서는 작업할 것이 없습니다. 그냥 저장하고 가저와 사용하면 됩니다.
밀리초를 기준으로 할 경우
밀리초를 기준으로 할 경우 아래 코드를 사용하여 밀리초를 바꿔서 등록하고,
import Foundation
extension Date {
/**
- Note: timeIntervalSince1970의 밀리초 반환
*/
public func convertMilliSecond() -> Int {
return Int(self.timeIntervalSince1970 * 1000.0)
}
}
서버로 부터 받은 데이터는 다시 초로 변경하여 사용하면 됩니다.
// tiem 값은 Int 입니다.
let date = Date(timeIntervalSince1970: TimeInterval(time/1000))
반응형
'2023년 부터 > iOS&Swift' 카테고리의 다른 글
[iOS/Swift]Decoding Error(The data couldn’t be read because it is missing) (0) | 2024.01.15 |
---|---|
[iOS] 공백만 입력되었는지 체크하는 로직 (0) | 2024.01.12 |
[iOS] iOS 개발에서의 핵심 이해: sizeToFit과 sizeThatFits (1) | 2023.11.21 |
[iOS]iOS 개발을 위한 필수 라이브러리: Kingfisher의 쉬운 사용법 (1) | 2023.11.21 |
[Swift] Date에서 Year, Month, Day 추출 및 날짜 차이 비교 (1) | 2023.11.21 |