Actualmente tengo problemas para mostrar correctamente el mes y el año correctos para un evento. Mirando la imagen a continuación, quiero poder hacer clic en el botón de flecha hacia la derecha y mover la fecha en que se creó el evento.
https://i.stack.imgur.com/nMFkm.png
Sin embargo, cuando hago clic en el botón Ir a, se detiene en enero de 2022, como se muestra aquí, https://i.stack.imgur.com/aYHMn.png .
La forma en que funciona el calendario es que el mes actual siempre se establece en 0, por lo tanto, cuando presiono hoy, me mostrará el mes de hoy. El siguiente código es el evento que permite que el calendario haga un ciclo para llegar al mes del evento.
Primero dividí la fecha del evento en una cadena y luego formateé el mes en Word. El findMatchingDate() recorrerá los meses y años por la iteración de monthNumID. Desde entonces, no sé el número de mes real del evento. Creé un ciclo while que iterará el monthNumID basado en el mes actual que es cero, hasta que currentMonth y currentYear coincidan con eventMonth y eventYear. Noté que incluso si soluciono este error, persisten otros problemas. ¿Qué sucede si se crea un evento antes del mes actual? Estoy un poco confundido aquí y cualquier ayuda será muy apreciada, ¡gracias!
_goToEvent(currentEvent) { const findMatchingDate = function () { dt.setMonth(new Date().getMonth() + monthNumID); currentMonth = new Intl.DateTimeFormat('en-US', { month: 'long' }).format( dt ); currentYear = String(dt.getFullYear()); }; let dt = new Date(); let currentMonth; let currentYear; let eventData = currentEvent.date.split('/'); const eventYear = eventData[0]; eventData = new Date(Date.UTC(eventData[0], eventData[1])); const eventMonth = new Intl.DateTimeFormat('en-US', { month: 'long', }).format(eventData); findMatchingDate(); while (currentYear != eventYear && currentMonth != eventMonth) { monthNumID++; findMatchingDate(); } console.log(monthNumID); this._createCalender(); }