将Firebase Firestore时间戳转换为日期(Swift)?

win*_*ton 17 firebase swift google-cloud-firestore

我有一个保存在Firestore字段中的日期作为我想要转换为Swift中的日期的时间戳:

June 19,2018 at 7:20:21 PM UTC-4

我尝试了以下但是我收到一个错误:

let date = Date(timeIntervalSince1970: postTimestamp as! TimeInterval)

错误:

Could not cast value of type 'FIRTimestamp' (0x104fa8b98) to 'NSNumber'

我想转换为Date的原因是我可以使用此Date扩展来模仿您在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"
    }
}
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 24

要么:

let date = postTimestamp.dateValue()
Run Code Online (Sandbox Code Playgroud)

或者你可以这样做:

let date = Date(timeIntervalSince1970: postTimestamp.seconds)
Run Code Online (Sandbox Code Playgroud)

请参阅时间戳参考文档.


归档时间:

查看次数:

7325 次

最近记录:

7 年,7 月 前