首页 > 解决方案 > 如何使用 Moment 在 React-Native 中将 Firestore Timestamp UTC 转换为 UTC+1?

问题描述

我想使用 MomentJs 将 Firestore 时间戳(默认为 UTC)转换为 UTC+1。我怎样才能做到这一点?

firestore.Timestamp.now().toDate()

PS我不想使用本地/设备的时间。

标签: react-nativegoogle-cloud-firestoremomentjs

解决方案


Firestore 时间戳(默认为 UTC)

真的没有“默认”。当您拥有 Timestamp 对象(或JavaScript Date或来自现代操作系统的任何其他本机日期对象)时,时间时刻始终在内部以 UTC 表示。

当您调用toDate()时间戳时,生成的日期仍然在内部以 UTC 表示。

不要对 Date 对象的“默认”字符串表示感到困惑。它将出现在配置计算机操作系统的本地时区中。但在内部,它仍然是 UTC。

如果您想将时间戳格式化为另一个时区的字符串,您当然可以这样做。momentjs 有一个随附的库Moment Timezone可以帮助您。momentjs 库本身不会帮助您处理时区(除了运行它的系统的本地提供的时区),因为通常认为本机时间戳始终是 UTC。


推荐阅读