斯威夫特在今天五年前获得约会

时间:2017-07-04 01:01:27

标签: swift

我有这个验证码,我想在其中添加另一部分,检查以确保从今天起过去的选择日期不超过五年。思考!

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
    }

1 个答案:

答案 0 :(得分:2)

你可以用这个单行代码获取五年后的日期:

let fiveYearsAgoDate = Calendar.current.date(byAdding: .year, value: -5, to: Date())

由于您可能没有使用UIDatePicker(许多应用使用插入分隔符的数字键盘,例如/,在几天,几个月和几年之间),这是一个可行的选项。验证用户输入。否则,如果使用UIDatePicker,则设置最长和最短日期是可行的方法。