如何将一个parsingdate对象转换为一个string?

初学者警惕

我试图从PFUser查询date,然后格式化为NSDate,所以它更有用。 麻烦开始,当我尝试将对象转换为NSString,所以我可以使用NSDateFormatter()格式化它

var user = PFUser.query() user.whereKey("username", equalTo: PFUser.currentUser().username) user.findObjectsInBackgroundWithBlock { (objects, error) -> Void in if error == nil { for object in objects { var lastActive = object["lastActive"] if lastActive != nil { let newLastActive = lastActive as String //problem starts here!! let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS'Z'" let date = dateFormatter.dateFromString(newLastActive) println("new date \(date)") } } } } 

什么是这样做的正确方法? 另外,如果我不指定variablestypes作为AnyObject,它作为一个可选的继续出来。 如何将其转换为string时去除可选项?

编辑:对象“lastActive”是由parsing云,而不是一个string设置的date。

如果你的lastActive单元格返回一个date,你可以使用:

 let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS'Z'" let date = dateFormatter.stringFromDate(lastActive as NSDate) 

您不必将date转换为string,您将通过dateformatter创builddatestring。 但如果你这样做,你可以使用lastActive as! String lastActive as! String insted of lastActive as String

更新

 for object in objects { var lastActive = object["lastActive"] if lastActive != nil { let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS'Z'" let date = dateFormatter.stringFromDate(lastActive as NSDate) println(date) } } 

我试着用上面的代码,如果你已经设置你的列parsing到date,它应该工作。