字符串没有作为时间戳写入firebase



所以我有日期字符串Friday, April 15, 2022,我通过字符串操作将其转换为Thu Apr 14 2022 00:00:00 GMT+0100 (Irish Standard Time),现在我正在将其写入firebase,但它保存为字符串?

我把它写在firebase上,像这样:

const event = {
            Time: eventTime,
            start: newEventString,
            title: eventName,
            allDay: true
            
        }
        allEvents.push(event)
        const db = fire.firestore();
        db.collection("userEventsCal/"+currentUserUID+"/activities").add({event})

因为我使用的是reactFullCalendar,事件没有显示在日历中,因为我认为日期。

我调用用户事件信息如下,但当我使用toDate()上的事件开始日期,它不能在字符串上使用它,因为我知道firebase返回一个时间戳,所以我不知道如何去修复这个,因为没有事件显示在反应完整的日历。

const getUserInfo2 = async () => {
  let currentUserUID = fire.auth().currentUser.uid
      console.log(currentUserUID)
      const qSnap = await fire
       .firestore()
       .collection('userEventsCal')
       .doc(currentUserUID)
       .collection("activities")
       .get()
    
    const data = []
    data = (qSnap.docs.map(d => ({ 
      id: d.id, 
      title: d.data().event.title, 
      start: d.data().event.start.toDate(),
      allDay: d.data().event.allDay,...d.data() })));
    
    
   
    setData([...data])
}

你必须保存一个日期或Firestore时间戳对象,以便将其保存为Firestore的时间戳,而不是具有特定格式的字符串:

const eventTime = "" // your date string
// TODO: convert the string to a Date
// const fireTimestamp = firebase.firestore.Timestamp.fromDate(new Date());
const eventTimeDate = new Date(eventTime)
// save this eventTimeDate in Firestore document

你可能需要格式化你的日期字符串一点使用Date()构造器和创建一个日期对象。在JavaScript中将字符串解析为日期以获取更多信息。

相关内容

  • 没有找到相关文章

最新更新