Xcode 如何将字符串转换为具有无关字符(swift)的NSDate?
我有字符串“Sat,2015年11月21日19:20:48 EST\n\t\t”,我需要将其转换为NSDate,但它始终为零Xcode 如何将字符串转换为具有无关字符(swift)的NSDate?,xcode,swift,nsdate,Xcode,Swift,Nsdate,我有字符串“Sat,2015年11月21日19:20:48 EST\n\t\t”,我需要将其转换为NSDate,但它始终为零 我试着用手把绳子清理干净 dateString.stringByReplacingOccurrencesOfString(\),带字符串:“”,选项:NSStringCompareOptions.LiteralSearch,范围:nil) 结果看起来不错:Sat,2015年11月21日19:20:48。转换为NSDate=nil:( 好的,我手动删除了带噪字符,并尝试将字
dateString.stringByReplacingOccurrencesOfString(\),带字符串:“”,选项:NSStringCompareOptions.LiteralSearch,范围:nil)
结果看起来不错:Sat,2015年11月21日19:20:48。转换为NSDate=nil:(
let dateString=“美国东部时间2015年11月21日星期六19:20:48”
let formatter=NSDateFormatter()
formatter.locale=NSLocale(localeIdentifier:'US\u en')
formatter.dateFormat='yyyy-MM-dd'
打印(“日期=\(日期)”)
//日期=零
我做错了什么
即使我使用“formatter.timeZone=NSTimeZone(缩写:“EST”)”仍然为零
回答你的第一个问题:
您可以使用以下代码从字符串中删除不需要的空格和换行符
var dateAsString = "Sat, 21 Nov 2015 19:20:48 EST\n\t\t"
dateAsString = dateAsString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
回答你的第二个问题:
有关所有字符串格式符号的列表,请参阅本文档中的日期格式符号表
您应该能够使用此格式化程序转换指定的日期
let customDateFormatter = NSDateFormatter()
dayTimePeriodFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss zzz"
let date = dayTimePeriodFormatter.dateFromString(dateAsString) //"Sat, 21 Nov 2015 19:20:48 EST"
您的
dateFormat
错误。请阅读有关NSDateFormatter
的文档以及如何使用日期格式。超级!工作正常。谢谢。