Try   HackMD

[Swift Tips] Validate Date is effective with start date and end date

tags: Swift-Tips

Use Case

Validate target date is between start date and end date.

Example:

start: 2020.0617
end: 2020.0619
validate target date: 2020.0618

Demo

let now = Date()
let isEffective = (start...end).contains(now)

Relative Classes

[[Swift.Date]]


Playground

import Foundation

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd"
let yesterDayString = "2020/06/18"
let yesterDay = dateFormatter.date(from: yesterDayString)!

let tomorrowString = "2020/06/20"
let tomorrow = dateFormatter.date(from: tomorrowString)!


let now = Date()

let isEffective = (yesterDay...tomorrow).contains(now)
print(isEffective)