Swift 获取今天之前五年的日期

标签 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
    }

最佳答案

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

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

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

关于Swift 获取今天之前五年的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44895548/

相关文章:

swift - 如何在 collectionView 中传递单元格的选定状态(Swift)

ios - 如何在 UIPresentationController 中更改 View 的边界?

swift - UIScreen.mainscreen.bounds 返回错误的宽度和高度

swift - WebView嵌入youtube视频位置

ios - 从 NSUserDefaults 解包 NSMutableArray

swift - 如何用字典填充选择器 View ?

swift - 如何分别从 Firebase Auth 和实时数据库中自动删除用户和用户的数据?

Swift3 UIWebView 委托(delegate)方法未被调用

ios - 在 swift iOS 中管理用户登录 segues

swift - 如何检测哪个 SCNNode 被触摸了 ARKit