Firebase Firestore Timestamp.toDate()返回UTC格式的日期

Firebase Firestore Timestamp.toDate()返回UTC格式的日期,firebase,datetime,google-cloud-firestore,google-cloud-functions,Firebase,Datetime,Google Cloud Firestore,Google Cloud Functions,我正在将时间戳作为DateTime(2020,02,29,9) 时间戳作为2020年2月29日UTC-6上午9:00:00存储在Firestore中 使用document['timestamp'].toDate()从颤振应用程序检索时间戳。hour按预期返回“9” 在云函数中获取此数据时会出现问题snap.timestamp.toDate()将日期对象返回为Sat Feb 29 2020 03:00:00 GMT+0000(UTC)不考虑时区偏移 如何检索与存储在firestore中的时间相同的

我正在将时间戳作为
DateTime(2020,02,29,9)

时间戳作为2020年2月29日UTC-6上午9:00:00存储在Firestore中

使用
document['timestamp'].toDate()从颤振应用程序检索时间戳。hour
按预期返回“9”

在云函数中获取此数据时会出现问题
snap.timestamp.toDate()
将日期对象返回为
Sat Feb 29 2020 03:00:00 GMT+0000(UTC)
不考虑时区偏移

如何检索与存储在firestore中的时间相同的时间,而不是以UTC获取它。

在firestore中,以UTC表示为从历元时间的偏移量。时间戳中没有编码的时区。在Firestore控制台中查看时间戳字段时,它将使用本地计算机配置的时区格式化日期

JavaScript对象是类似的——它们也不存储时区。打印日期的字符串表示形式时,将添加时区,但这只是字符串格式的一部分。如果要处理没有时区的日期和时间戳,请不要使用该字符串格式


如果要处理没有时区的日期,则应忽略这些日期的格式化字符串表示形式。只需以编程方式处理它们,或者使用一个日期库,该库允许您使用您喜欢的时区格式化日期。

谢谢!我以为这就是原因。现在一切都有意义了。你们觉得这个数据库很奇怪吗?我只是在征求意见。我花了几个小时来解决类似的问题。我不敢相信谷歌又把事情搞复杂了。