我已经尝试了很多方法,但我仍然无法将时间戳转换为日期(年月日…),现在我有这个问题,
Int类型的值没有成员seconds(1)
这是我编辑的代码,但时间是显示在Xcode中而不是模拟器
代码:VC
if let timestamp = document.get("timestamp") as? TimeInterval {
let date = Date(timeIntervalSince1970: timestamp)
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm"
let today = dateFormatter.string(from: date)
print("Time Stamp's Current Time:(today)")
let post = Post(email: email, caption: caption, imageUrl: imageURL, timestamp: timestamp)
...
...
...
...
cell.timeLabel.text = String(postArray[indexPath.row].timestamp)
代码:文章
struct Post {
var email:String
var caption:String
var imageUrl:String
var timestamp:Double
init(email:String,caption:String,imageUrl:String,timestamp:Double) {
self.email = email
self.caption = caption
self.imageUrl = imageUrl
self.timestamp = timestamp
}
}
您已将网络响应转换为Int
。然后调用<int>.seconds
。这个错误信息告诉你在Int上没有.seconds
这样的东西。
Date
类期望的时间戳只是一个Double
。你可以使用键盘"Double"或";TimeInterval"。铸造是Int,而不是这样做:
if let timestamp = document.get("timestamp") as? TimeInterval {
let date = Date(timeIntervalSince1970: timestamp)
时间戳只是一个int(从1970年1月1日(午夜UTC/GMT)开始经过的秒数,不包括闰秒(在ISO 8601: 1970-01-01T00:00:00Z))。所以没有第二属性。你试过吗?let date = Date(timeIntervalSince1970: timestamp)
? ?