gpt4 book ai didi

javascript - admin.Firebase.Timestamp 存储时间延迟 7 小时

转载 作者:行者123 更新时间:2023-12-04 17:16:04 31 4
gpt4 key购买 nike

我正在尝试通过 Firebase Functions 在 Firestore 中存储时间戳。但是,Firestore 中记录的时间不正确。

例如,我想存储 UTC 时间:2021 年 8 月 14 日 21 点(晚上 9 点)

注意:此代码在我的 Firebase 函数中

const date = new Date(Date.UTC(
csvRow.startDateYear,
csvRow.startDateMonth,
csvRow.startDateDay,
csvRow.startDateHour,
csvRow.startDateMinute
))

console.log(date); // prints 2021-08-14T21:00:00.000Z (correct)

console.log('date.getTime():' + date.getTime()); // prints 1628974800000 (correct)

const timeStamp = admin.firestore.Timestamp.fromMillis(date.getTime());

console.log('timeStamp.toMillis():' + timeStamp.toMillis()); // prints 1628974800000 (correct)

write.startDate = timeStamp;

但是当我实际查看 Firestore 并查看记录的内容时,我得到了这个,一个晚了 7 小时的时间戳:

enter image description here

我也试过 Timestamp.fromDate(date) 但得到了相同的结果

最佳答案

Firebase Firestore 时间戳在使用小时时会中断,因为它们没有内置时区。它们旨在代表更长的时间段,而不是特定时区(小时)。

试试这个函数,看看它是否正常工作:

var myTimestamp = firebase.firestore.Timestamp.fromDate(new Date());

如果您尝试使用 Cloud Functions 进行此操作,请尝试以下操作:

admin.firestore.Timestamp.fromDate()

详细文档: https://firebase.google.com/docs/reference/node/firebase.firestore.Timestamp

关于javascript - admin.Firebase.Timestamp 存储时间延迟 7 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68696693/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com