반응형
스위프트로 코딩할 때 가끔 서버와의 통신 등을 이유로 유닉스 타임스탬프를 사용해야 할 때가 있습니다. 그런데 스위프트에서는 기본적으로 유닉스 타임스탬프 값을 얻는 방법을 제공하고 있지 않습니다. 따라서 이번 포스팅에서는 이를 간단하게 익스텐션으로 구현하는 방법에 대해 알아보겠습니다.
유닉스 타임스탬프(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의 형태로 특정 날짜의 타임스탬프 값을 얻을 수 있게 됩니다.
반응형
'모바일앱 > iOS' 카테고리의 다른 글
preview, canvas 위치 이동시키기 (0) | 2022.11.07 |
---|---|
오토레이아웃, Anchor, IBDesignable, IBInspectable (0) | 2022.11.07 |
앱 빌드설정 선택하기 (0) | 2022.11.03 |
UIKit에서 SwiftUI의 Preview를 사용하는 방법 (0) | 2022.10.31 |
UILabel 코드로 만들기 (0) | 2022.05.29 |
(Xcode) pragma mark 주석 사용법 (0) | 2022.05.28 |
(ios) UIColor와 CgColor의 차이점 설명 (0) | 2022.05.25 |
iOS 날짜정보를 불러와서 비교하기 (0) | 2022.05.18 |