Swift将具有特定格式的字符串转换为NSDate

Bob*_*ban 1 ios swift swift2

我想将这两个字符串转换为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
}
Run Code Online (Sandbox Code Playgroud)

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

War*_*ton 6

你需要引用T'标记

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

它解析为日期魔术格式化程序的一部分.

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