Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift dateFromString()返回不正确的日期_Swift_Nsdate_Nsdateformatter - Fatal编程技术网

Swift dateFromString()返回不正确的日期

Swift dateFromString()返回不正确的日期,swift,nsdate,nsdateformatter,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) 请告诉我哪里出错了。我也尝试了其他格式,但它

我试图将字符串转换为日期,但结果是日期不正确

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。

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

dateFormatter.dateFormat = "dd MMM yyyy"

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

年份的格式不正确,应为
yyyy
,而不是
yyyy

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

请参阅:

另外:

谢谢。成功了。在我尝试将日期转换为具有相同格式(dd-MMM-yyy)的字符串之前,它起了作用。为什么不起作用?文档中写道:“一个常见的错误是使用YYYY。YYYY指定日历年,而YYYY指定ISO年-周日历中使用的年(年的周)。在大多数情况下,YYYY和YYYY产生相同的数字,但它们可能不同。通常应使用日历年。”