我在 Firestore 字段中保存了一个日期作为时间戳,我想将其转换为 Swift 中的日期:
2018 年 6 月 19 日下午 7:20:21 UTC-4
我尝试了以下但出现错误:
让 date = Date(timeIntervalSince1970: postTimestamp as!TimeInterval)
错误:
无法将“FIRTimestamp”类型的值 (0x104fa8b98) 转换为“NSNumber”
我想转换为日期的原因是我可以使用这个日期扩展来模仿您在 Instagram 帖子上看到的时间戳:
extension Date {
func timeAgoDisplay() -> String {
let secondsAgo = Int(Date().timeIntervalSince(self))
let minute = 60
let hour = 60 * minute
let day = 24 * hour
let week = 7 * day
if secondsAgo < minute {
return "\(secondsAgo) seconds ago"
} else if secondsAgo < hour {
return "\(secondsAgo / minute) minutes ago"
} else if secondsAgo < day {
return "\(secondsAgo / hour) hours ago"
} else if secondsAgo < week {
return "\(secondsAgo / day) days ago"
}
return "\(secondsAgo / week) weeks ago"
}
}
最佳答案
要么:
let date = postTimestamp.dateValue()
或者你可以这样做:
let date = Date(timeIntervalSince1970: postTimestamp.seconds)
关于swift - 将 Firebase Firestore 时间戳转换为日期(Swift)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51116381/