본문 바로가기
2023년 부터/iOS&Swift

[iOS] Android System.currentTimeMillis 사용하기

by JeongUPark 2023. 11. 25.
반응형

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))

 

반응형