2015-10-19 105 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