DateFormatter returns 无

DateFormatter returns nil

为什么 DateFormatter return 为零? 我认为字符串格式匹配?

let dateString = ("01/05/2017")!
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = "dd/MMM/yyyy"
let dateObj = dateFormatter.date(from: dateString)

执行完上面的代码后,dateObj为nil。

对于 month 你需要使用 MM 因为 MMM 当你的月份格式如 Jan,Feb,Mar 等等。所以你的 dateFormat 应该是 dd/MM/yyyy.

let dateString = "01/05/2017"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let dateObj = dateFormatter.date(from: dateString)

注:无需设置timeZoneTimeZone.current

替换为您的日期格式:

dateFormatter.dateFormat = "dd/MM/yyyy"

date Formatter 在这种情况下应该是 dateFormatter.dateFormat = "dd/MM/yyyy"。

您可以检查给定的各种日期格式 link

NSDateFormatter

对于给定的示例,您可以使用 let formaterStrig = "dd/MM/yyyy"