dateFromString() returns 不正确的日期

dateFromString() returns incorrect date

我正在尝试将字符串转换为日期,但结果不正确。

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMM YYYY"
let dt = dateFormatter.dateFromString("17 Sep 2015")
println("Date : \(dt)") 

结果

Date : Optional(2014-12-20 18:30:00 +0000)

请告诉我哪里出错了。我也尝试了其他格式,但它 return nil.

您的日期格式字符串有误。将其更改为以下内容:

dateFormatter.dateFormat = "dd MMM yyyy"

有关详细信息,请阅读 Date Formatters 文档。

年份格式不正确,应该是yyyy,而不是YYYY

"Y":年份(在基于 "Week of Year" 的日历中)。这一年份名称用于 ISO 8601 定义的 ISO 年-周日历,但也可用于需要周日期处理的非公历日历系统。 不一定与日历年的值相同

参见:Date Field SymbolTable.
另外:ICU Formatting Dates and Times