将字符串时间转换为日期Swift 5



我遵循了这里的示例,但是返回的年份总是错误的,比如2000-01-01。有没有一种方法可以简单地将我经过的时间附加到Date((?所以我把时间作为字符串,这是函数:

// Converts String time (01:07 PM) to Date (2000-01-01 18:07:00 +0000)
func convertStringTimeToDate(item: String) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a"
dateFormatter.amSymbol = "AM"
dateFormatter.pmSymbol = "PM"
let date = dateFormatter.date(from: item)

return date!
}

例如,时间:01:07 PM会错误地给我1 Jan 2000, 01:07 PM。年份必须正确。

这就是解决方案,感谢@nghiahoong的帮助:

// Converts String time (01:07 PM) to Date (2000-01-01 18:07:00 +0000)
func convertStringTimeToDate(item: String) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a"
dateFormatter.amSymbol = "AM"
dateFormatter.pmSymbol = "PM"
dateFormatter.defaultDate = Date()

let date = dateFormatter.date(from: item)

return date!
}

最新更新