我有这个验证码,我想在其中添加另一部分,检查以确保从今天起过去的选择日期不超过五年。思考!
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
let date1 = dateFormatter.date (from: termStartDate.text!)
guard let startDate = date1 , startDate < Date() else {
let alert = UIAlertController(title: "Input Error", message: "Select Date less than today", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Ok", style: .default, handler: nil))
self.present(alert, animated: true, completion: nil)
return
}
答案 0 :(得分:2)
你可以用这个单行代码获取五年后的日期:
let fiveYearsAgoDate = Calendar.current.date(byAdding: .year, value: -5, to: Date())
由于您可能没有使用UIDatePicker
(许多应用使用插入分隔符的数字键盘,例如/
,在几天,几个月和几年之间),这是一个可行的选项。验证用户输入。否则,如果使用UIDatePicker
,则设置最长和最短日期是可行的方法。