así que tuve la cadena de fecha Friday, April 15, 2022 y la convertí a Thu Apr 14 2022 00:00:00 GMT+0100 (Irish Standard Time) mediante la manipulación de cadenas y ahora la estoy escribiendo en Firebase pero está guardando como una cadena?
Lo estoy escribiendo en firebase así:
const event = { Time: eventTime, start: newEventString, title: eventName, allDay: true } allEvents.push(event) const db = fire.firestore(); db.collection("userEventsCal/"+currentUserUID+"/activities").add({event})Porque estoy usando reactFullCalendar, y creo que los eventos no aparecen en el calendario debido a la fecha.
Llamo a la información del evento del usuario como se muestra a continuación, pero cuando uso toDate() en la fecha de inicio del evento, no se puede usar en una cadena porque sé que firebase devuelve una marca de tiempo, así que no estoy seguro de cómo arreglar esto porque ninguno de los eventos se muestran en el calendario completo de reacción.
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]) }Debe guardar un objeto Fecha o Marca de tiempo de Firestore para guardarlo como una marca de tiempo en Firestore y no como una cadena con un formato específico:
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 Es posible que deba formatear un poco su cadena de fecha para usar el constructor Date() y crear un objeto Date. Consulte Análisis de una cadena a una fecha en JavaScript para obtener información adicional.