2014-11-03 57 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!) 
相关问题