类型 'Int' 的值没有成员'seconds'



我已经尝试了很多方法,但我仍然无法将时间戳转换为日期(年月日…),现在我有这个问题,

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)? ?

相关内容

  • 没有找到相关文章

最新更新