如何使用此代码自动将字符串转换为日期
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
guard let date = dateFormatter.date(from: String) else { return }
所以我不必再次键入或再次重用,我在考虑使用DateFormatter扩展名,但是我不知道该怎么做或是正确的方法。谢谢您的关注
答案 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)
}
}