스위프트로 코딩할 때 가끔 서버와의 통신 등을 이유로 유닉스 타임스탬프를 사용해야 할 때가 있습니다. 그런데 스위프트에서는 기본적으로 유닉스 타임스탬프 값을 얻는 방법을 제공하고 있지 않습니다. 따라서 이번 포스팅에서는 이를 간단하게 익스텐션으로 구현하는 방법에 대해 알아보겠습니다.
유닉스 타임스탬프(Unix Timestamp)
구현하기에 앞서 유닉스 타임스탬프에 대해 간단히 알아보겠습니다. 유닉스 타임스탬프란, 1970년 1월 1일 0시(UTC)를 기점으로 현재까지의 경과 시간을 초 단위로 환산하여 나타낸 값입니다. 예를 들어 2020년 1월 1일 0시(UTC)는 유닉스 시간으로 1577836800으로 표기합니다.
구현 방법
Date
의 익스텐션에 프로퍼티 혹은 스태틱 프로퍼티를 추가함으로써 간단히 구현할 수 있습니다.
extension Date {
static var timestamp: Int64 {
Int64(Date().timeIntervalSince1970 * 1000)
}
}
위와 같이 정의했을 경우에 Date.timestamp
의 형태로 현재의 타임스탬프를 간편하게 얻을 수 있습니다. 현재의 타임스탬프 값보다 특정 날짜 객체의 타임스탬프를 사용하는 경우가 더 많다면 다음과 같이 static
키워드를 제거하고 정의할 수도 있습니다.
extension Date {
var timestamp: Int64 {
Int64(timeIntervalSince1970 * 1000)
}
}
이렇게 정의했다면 createdAt
이라는 Date
객체가 있다고 했을 때, createdAt.timestamp
의 형태로 특정 날짜의 타임스탬프 값을 얻을 수 있게 됩니다.
'프로그래밍 팁 > Swift' 카테고리의 다른 글
Swift에서 Codable 객체와 딕셔너리(Dictionary)를 상호 변환하는 방법 (0) | 2020.11.18 |
---|---|
RxSwift로 간단한 파일 다운로더 만들기 (0) | 2020.11.15 |
1-13. Swift - 옵셔널(Optionals) 문법 개념 정리 (0) | 2020.11.11 |
1-12. Swift - 튜플(Tuples) 문법 개념 정리 (0) | 2020.11.10 |
1-11. Swift - 불리언(Booleans) 문법 개념 정리 (0) | 2020.11.09 |
댓글