tengo estos datos:
const start = "29.09.2021"; const end = "29.10.2021"; const interval = "days"; //also: "month", "week", "year" const intervalCount = 3; cómo obtener una matriz de fechas que existe entre el start y el end con intervalos: eq. si intervalo == "días" e intervaloContador == 3, entonces otras fechas deberían ser 02.10, 05.10, 08.10, 11.10, etc., pero el intervalo también puede ser "mes", "semana" y "año", por lo que debo calcular en función de los argumentos dinámicos
No tengo ni idea de cómo empezar, gracias por cualquier ayuda!
Esto se puede hacer usando objetos de fecha que se encuentran aquí
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
Puede crear una función como
function getDates(startDateString, stopDateString, interval){ var dates = []; var start = new Date(startDateString); var stop = new Date(stopDateString); while (start < stop) { dates.push (start.toJSON()); start.setDate(start.getDate() + interval); } return dates; }Y luego puede ejecutar la función haciendo esta llamada
dateArray = getDates("09-29-2021", "10-29-2021", 1)Cubre iteraciones de un solo día. Una semana es solo un intervalo de 7 días.
dateArray = getDates("09-29-2021", "10-29-2021", 7)Mover meses se convierte en casos extremos que se pueden manejar a través de condiciones basadas en su caso de uso (por ejemplo, si la fecha es el 31 de enero, ¿debería un salto de 1 mes llevarlo al 3 de marzo o al 28/29 de febrero?)