2015-10-19 97 views
1

我想将这两个字符串转换为NSDate。Swift将特定格式的字符串转换为NSDate

1. "2015-10-19T15:27:48.173754Z"

2. "2015-10-19T15:27:31Z"

我尝试使用该功能格式#1:

static func prepareDate(dateString: String)-> NSDate 
{ 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ssZ" 
    let date = dateFormatter.dateFromString(dateString) 
    return date 
} 

但它总是返回零。有人可以建议有什么问题吗?

+0

在你的代码的日期格式不会在所有的第一个字符串相匹配。如果正确引用格式中的“T”,它将匹配第二个字符串。 – rmaddy

回答

6

您需要使用“标记

func prepareDate(dateString: String)-> NSDate? 
{ 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
    let date = dateFormatter.dateFromString(dateString) 
    return date 
} 

其解析为日期魔术格式化的一部分来引用T

let test = "2015-10-19T15:27:31Z" -> "Oct 19, 2015, 4:27 PM"

+0

谢谢你的解决方案! – bla0009