我可以更改 Firestore 时间戳字段中保存的时区吗?

Agu*_*ana 2 timezone firebase google-cloud-firestore

所以从这里的文档中可以看出

时间戳表示独立于任何时区或日历的时间点,以 UTC 纪元时间中纳秒分辨率的秒和秒的分数表示

但这是我文档中的时间戳字段

在此输入图像描述

如您所见,有 UTC+7。我来自印度尼西亚,我的 Firestore 数据库也在 asia-southeast2 区域(印度尼西亚雅加达)。

我的问题是……

我真的可以改变那个时区吗?即使文档说时间戳独立于任何时区。但我不明白为什么 Firestore 可以获得 UTC+7,这是正确的,因为我从印度尼西亚 (UTC+7) 发送数据

我尝试在 Android 应用程序中操作日期对象,并使用不同的时区 (UTC+9) 发送数据,但它始终会保存为 UTC+7。

所以基本上我想找出我的代码中是否存在错误或者 firestore 中的时区是否无法更改

Dou*_*son 6

在 Firestore 中,时区不会编码为时间戳值。所有时间戳均以 UTC 测量。对于所有主要操作系统的日期和时间来说,这是正常的。您在控制台中看到的是针对本地计算机当前配置的时区格式化的时间戳值。如果您想在那里看到不同的时区,则必须更改计算机配置的时区。更改时间戳值本身并没有真正的帮助。

您的代码应该只创建和操作同样以 UTC 测量的时间戳值。如果您以某种方式收到来自另一个时区的格式化数据,则应先将其转换为 UTC,然后再创建时间戳。