我尝试使用 NSDateFormatter()
转换一个 Unix 时间戳,但是当我尝试传递 NSDate
变量时,出现错误:无法将“String”类型的值分配给“NSDate”类型?
var releaseDate: NSDate?
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let seconds = Double(self.userA.releaseDate)
let timestampDate = NSDate(timeIntervalSince1970: seconds)
let stringTimeStamp = timestampDate.description
print(stringTimeStamp) // 2016-07-29 04:49:54 +0000
let releaseDateFormatter = NSDateFormatter()
releaseDateFormatter.dateFormat = "hh:mm:ss a"
releaseDate = releaseDateFormatter.stringFromDate(timestampDate)
}
我很困惑,因为我没有明确声明 timestampDate
为 NSDate
吗?
最佳答案
问题不在于timestampDate
。问题是 releaseDate
是一个 NSDate?
并且您试图将 stringFromDate
的结果放入它,它返回一个 String
.
如果您想将时间戳转换为用户可读的字符串,您可能需要将 releaseDate
声明为 String
。
关于swift - NSDate 格式化程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38643250/