dateFromString()返回错误的日期

时间:2015-09-17 13:23:38

标签: swift nsdate nsdateformatter

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

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)

请让我知道我在哪里弄错了。我也尝试了其他格式,但它返回nil。

2 个答案:

答案 0 :(得分:3)

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

" Y":年份("周年和#34;基于日历)。今年的指定用于ISO 8601定义的ISO年 - 周日历,但可用于需要周日处理的非基于格里高利的日历系统。 可能并不总是与日历年相同的值

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

答案 1 :(得分:0)

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

dateFormatter.dateFormat = "dd MMM yyyy"

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