Swift2 Swift 2:将RSS pubDate解析为NSDate对象

Swift2 Swift 2:将RSS pubDate解析为NSDate对象,swift2,nsdate,nsdateformatter,Swift2,Nsdate,Nsdateformatter,我正在尝试将一个字符串(日期)从RSS提要(“pubDate”)转换为Swift 2中的NSDate对象 let dateString:String = "Tue, 16 Aug 2016 15:27:33 +0000" let dateFormatter = NSDateFormatter() dateFormatter.dateStyle = NSDateFormatterStyle.ShortStyle dateFormatter.dateFormat = "yyyy-MM-dd" l

我正在尝试将一个字符串(日期)从RSS提要(“pubDate”)转换为Swift 2中的NSDate对象

let dateString:String = "Tue, 16 Aug 2016 15:27:33 +0000"

let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = NSDateFormatterStyle.ShortStyle
dateFormatter.dateFormat = "yyyy-MM-dd"

let date = dateFormatter.dateFromString(dateString)
print(date)
问题是,在这种情况下,日期对象始终为nil。问题在于输入字符串的格式。如果我将日期字符串更改为“2016-08-16”,则NSDate对象已正确构建

所以我不知道如何让这个日期生效。之前对dateString执行的字符串操作?或者dateFormatter上的一些选项


提前谢谢你的帮助

虽然关于如何从字符串转换为日期的问题主要是关于指定正确的格式字符串,但您应该阅读Apple的相关说明。简短的版本是,您应该始终将本地指定为
en_US\u POSIX

let dateString = "Tue, 16 Aug 2016 15:27:33 +0000"

let dateFormatter = NSDateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
dateFormatter.dateFormat = "E, d MMM yyyy HH:mm:ss Z"

let date = dateFormatter.dateFromString(dateString)
print(date)

虽然关于如何从字符串转换为日期的问题主要是关于指定正确的字符串格式,但您应该阅读Apple的相关内容。简短的版本是,您应该始终将本地指定为
en_US\u POSIX

let dateString = "Tue, 16 Aug 2016 15:27:33 +0000"

let dateFormatter = NSDateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
dateFormatter.dateFormat = "E, d MMM yyyy HH:mm:ss Z"

let date = dateFormatter.dateFromString(dateString)
print(date)

您的日期格式与
2016-08-16
匹配。您需要正确的日期格式通过以下方式使您的日期格式与日期字符串相适应:您的日期格式匹配
2016-08-16
。您需要正确的日期格式通过以下操作使日期格式适应日期字符串: