我有这个验证码,我想在其中添加另一部分,它会检查以确保选择的日期在从今天算起的过去不超过五年内。想法!
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
}
最佳答案
你可以用这个单行抓取五年后的日期:
let fiveYearsAgoDate = Calendar.current.date(byAdding: .year, value: -5, to: Date())
由于您可能没有使用 UIDatePicker
(许多应用程序使用数字键盘在日、月和年之间插入分隔符,例如 /
),这是验证用户输入的可行选项。否则,如果使用 UIDatePicker
,设置最大和最小日期是可行的方法。
关于Swift 获取今天之前五年的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44895548/