自动将字符串转换为日期

Automated convert string into date

如何使用此代码将字符串自动转换为日期

let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "HH:mm"

    guard let date = dateFormatter.date(from: String) else { return }

所以我不必再次键入或再次重复使用,我正在考虑使用 DateFormatter 扩展,但我不知道如何或是否是正确的方法。感谢您的关注

您需要在 String 而不是 Dateformatter 上创建扩展。

试试下面的代码,

extension String {

    var date: Date? {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "HH:mm"
        return dateFormatter.date(from: self)
    }

}

使用示例:

override func viewDidLoad() {
        let dateString = "11:32"
        if let date = dateString.date { //This will return Date object
            debugPrint(date)
        }

        let invalidDateString = "XYZ:ABC"
        if let invalidDate = invalidDateString.date { //This will return nil as date string is invalid
            debugPrint(invalidDate)
        }
    }