如何处理Firestore上的日期



据我所知,当您存储日期时:

const date = firebase.firestore.Timestamp.fromDate(new Date())

您正在本地时区中存储日期对象。然而,当我后来从Firestore中读到这个日期时,使用:

doc.data().date.toDate()

这会给我UTC的日期,而不是本地时区。这是预期的行为吗?我的理解正确吗?由于您存储的日期是当地时间,因此以当地时间检索日期似乎更有意义。

当您使用firebase.firestore.Timestamp.fromDate(new Date()),您正在存储本地时区中的date对象。

这实际上是不正确的:Firestore中的所有时间戳都保存在UTC中。保存时间戳的用户的时区不会与时间戳值一起保存。

这是预期的行为吗?

是的,将值存储在UTC中为开发人员提供了最大的灵活性,使其能够根据自己的具体要求按需显示。

事实上,当在前端显示它时,这取决于开发人员用他想要的时区来显示它。例如,Firebase控制台将UTC日期转换为计算机配置的时区。

相关内容

  • 没有找到相关文章

最新更新