添加文档后添加到Firestore时间戳记的时间

时间:2020-05-22 18:58:20

标签: datetime kotlin google-cloud-firestore

我有使用Timestamp的Firestore文档。我已经检查了代码的每个部分,并100%确定用于创建时间戳记的Instant始终只包含诸如2020-05-01T00:00:00Z之类的日期。但是,当我看着https://console.firebase.google.com时,会看到奇怪的事情。每个时间戳突然都有额外的时间。它是 1:00UTC UTC + 1 2:00:00 AM UTC + 2

为了将Instant转换为Timestamp,我使用以下扩展名:

fun Instant.toTimestamp(): Timestamp {
    return Timestamp.ofTimeSecondsAndNanos(this.epochSecond, this.nano)
}

保存时客户端上的正确数据怎么可能变得不正确?我在这里想念什么?

我使用批处理更新,还检查了其中包含的突变,那里的一切都还不错。我将其所有时间戳转换回Instant,但没有一个包含时间。为什么它们会出现在控制台中?

1 个答案:

答案 0 :(得分:1)

时间戳不编码时区-它们始终是UTC。但是,Firebase Web控制台使用运行浏览器的本地计算机的时区配置显示时间戳(出于本地可读性)。如果您查询文档并获得时间戳记,则该时间戳记与您输入的时间相同(再次以UTC内部表示)。