Firestore serverTimestamp

时间:2017-11-01 16:44:27

标签: swift firebase google-cloud-firestore

是否可以使用以下格式将服务器时间戳保存在Firestore数据库中:1508805681? FieldValue.serverTimestamp()将其保存为确切的日期,ServerValue.timestamp()只是给我这个:[" .sv":" timestamp"]

2 个答案:

答案 0 :(得分:2)

嘿,你可以尝试这个。工作的 这是扩展......

extension Date {
func toMillis() -> Int64! {
    return Int64(self.timeIntervalSince1970 * 1000)
}
}

您可以像

一样使用它
Date().toMillis()

答案 1 :(得分:1)

我不确定你想要的格式:1508805681似乎是自1970年1月1日午夜以来的秒数,但时区未指定。我猜你的意思是UTC。

在Firestore中,时间戳存储为包含秒的Timestamp value和UTC中的小数部分。该结构的秒部分可以满足您的需求。

Firestore SDK以对宿主语言来说应该是自然的方式公开时间戳。例如,在Swift(和Objective-C)中,时间戳实现为NSDate。要在NSDate上获得自纪元以来的秒数,请使用timeIntervalSince1970并投射到Int以消除小数秒,如下所示:

Int(date.timeIntervalSince1970)