반응형
비교
func isExpired(expiredDate:Int)->Bool{
var isep : Bool = false
let currentTime : String = Date.string(fmt: .standard)
let prevTime : String = "2020-01-14 11:11:11"
if (!currentTime.isEmpty && !prevTime.isEmpty){
let ct:Date = Date.stringToDate(currentTime)
let pt:Date = Date.stringToDate(prevTime)
let tis = Int(ct.timeIntervalSince(pt)/(60*60*24))
if tis >= expiredDate {
isep = true
}
}
return isep
}
- Date.string 부분과 Date.stringToDate는 expentension으로 빼놨다.
- timeIntervalSince로 두 날짜의 차이를 구한뒤 60*60*24(하루) 으로 나눠준다 , 둘차이가 하루가안되면 0일것이다.
유틸펑션
extension Date {
enum DateFormat {
case standard
}
//지정된 포맷으로 현재 날짜 string으로 반환
static func string(fmt: DateFormat) -> String {
let formatter = DateFormatter()
switch fmt {
case .standard:
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return formatter.string(from: Date())
default:
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return formatter.string(from: Date())
}
}
//string date를 timezon UTC 방식으로 변환
static func stringToDate(_ stringDate: String) -> (Date) {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
formatter.timeZone = NSTimeZone(name: "UTC") as TimeZone?
return formatter.date(from: stringDate)!
}
}
-필요에 따라 포맷형식이나 타임존 방식을 변경해서 사용하면된다.
사용
if isExpired(30) {
//지난 날짜.
}
else {
//아직 안지남
}
반응형
'IOS' 카테고리의 다른 글
(IOS)sms로 인증문자 받아서 keyboard위에 띄우기 (0) | 2020.01.30 |
---|---|
(IOS) 토스트 만들기 - objective-c (0) | 2020.01.22 |
(IOS)스토리보드에서 VIEW 관리하기 (0) | 2020.01.21 |
[IOS]custom bottom sheet (0) | 2019.12.31 |
[IOS] SceneDelegate에서 rootViewcontroller 변경 (0) | 2019.12.31 |