自动将字符串转换为日期

时间:2018-11-26 03:49:33

标签: ios swift date nsdateformatter

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

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

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

所以我不必再次键入或再次重用,我在考虑使用DateFormatter扩展名,但是我不知道该怎么做或是正确的方法。谢谢您的关注

1 个答案:

答案 0 :(得分:2)

您需要在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)
        }
    }