2014-11-03 29 views
0

我試圖實現的是將此格式的出生日期字符串:08/15/2014轉換爲NSDate實例。然後將NSDate轉換回String,但在ISO format

爲什麼我收到此錯誤消息? 無法轉換表達式的類型 '$ T3' 輸入 '$ T4'

// birthdateString = 08/15/2014 
let birthdateString = KeychainManager.getString(KeychainManager.StaticVars.kFbBirthdate) 

let birthdateAsNSDate = Date.parseFacebookBirthdate(birthdateString) 
let birthdateAsISOString = Date.getStringFromDate(birthdateAsNSDate) 

日期轉換類

class Date { 

class func parseFacebookBirthdate(birthdateString: String) -> NSDate { 
    var dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "MM/dd/yyyy" 
    dateFormatter.timeZone = NSTimeZone(name: "UTC") 
    return dateFormatter.dateFromString(birthdateString) 
} 

class func getStringFromDate(date: NSDate) -> String { 
    var dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZ" 
    dateFormatter.timeZone = NSTimeZone.defaultTimeZone() 
    return dateFormatter.stringFromDate(date) 
} 

} 

我收到這條線上的錯誤:

let birthdateAsNSDate = Date.parseFacebookBirthdate(birthdateString) 
+0

因爲結果'dateFormatter.dateFromString(birthdateString)'有待解開我不能編譯Date類。 - KeychainManager.getString()返回什麼類型?這個問題是否也發生在固定字符串'let birthdateString =「08/15/2014」'? – 2014-11-03 07:51:09

+0

@MartinR我真的解決了這個問題,我不得不解開'birthdateString'和'birthdateAsNSDate'。這就是所需要的。謝謝您的幫助! – 2014-11-03 07:59:01

回答

1

我剛打開時打開了birthdateStringbirthdateAsNSDate我的Date功能。

很簡單修復=]

let birthdateString = KeychainManager.getString(KeychainManager.StaticVars.kFbBirthdate) 
let birthdateAsNSDate = Date.parseFacebookBirthdate(birthdateString!) 
let birthdateAsISOString = Date.getStringFromDate(birthdateAsNSDate!) 
相關問題