Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

73
Vistas
Lista de devolución de Javascript de todas las fechas en el mes y lunes separados

Me pregunto si alguien me puede ayudar, he hecho todo lo posible para tratar de llegar lo más lejos posible, pero un poco de ayuda sería realmente genial, si no ayuda, solo un consejo, estoy aprendiendo lentamente.

Como consejo de alguien, he tratado de incluir la mayor cantidad posible de mi código.

Así que tengo el siguiente código

 var my_dates = function(start, end) { var start = new Date(start); var end = new Date(end); var arr = new Array(); var dt = new Date(start); while (dt <= end) { arr.push(new Date(dt)); dt.setDate(dt.getDate() + 1); } return arr; } var dates_array = my_dates('2021-02-02', '2021-02-23');

y si hago console.log(dates_array ) devuelve una lista de fechas entre las dos fechas definidas, y esto es genial.

Si cree que mi código es exagerado, estoy abierto a aprender una mejor manera.

Pero lo que quería hacer es expandir esto, así que en lugar de devolver fechas entre esas 2 fechas, en el caso de febrero, devolvería todas las fechas a partir del 1 y hasta el 28.

Entonces tengo este HTML

 <div id="start_dates"> <ul class="monday_dates"></ul> </div> <div id="all_dates"> <ul class="all_dates"></ul> </div>

y luego usando jQuery, quería ubicar todos los lunes como <li> en .monday_dates <ul> , asumo algo como $('#start_dates .monday_dates').append()

Y luego coloque una lista completa de todas las fechas como <li> en .all_dates <ul> , asumo algo como $('#all_dates .all_dates').append()

Así que la fuente HTML se vería algo así como

 <div id="start_dates"> <ul class="monday_dates"> <li class="mon">01/02/2021</li> <li class="mon">08/02/2021</li> <li class="mon">15/02/2021</li> <li class="mon">22/02/2021</li> </ul> </div> <div id="all_dates"> <ul class="all_dates"> <li class="day">01/02/2021</li> <li class="day">02/02/2021</li> <li class="day">03/02/2021</li> ... <li class="day">26/02/2021</li> <li class="day">27/02/2021</li> <li class="day">28/02/2021</li> </ul> </div>

¿Alguien puede ayudar? O aconsejar.

Gracias, aprecio mucho tu tiempo.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede generar todas las fechas de un mes usando un ciclo while y agregar solo fechas cuyo valor de getDay() sea 1 como fechas de monday . Luego, usando append() puede agregar a su html.

 const getDaysInMonth = (month, year) => { const date = new Date(year, month, 1); const days = []; const mondays = []; while (date.getMonth() === month) { const dateString = new Date(date).toLocaleDateString('en-GB') if(date.getDay() === 1) { mondays.push(dateString); } days.push(dateString); date.setDate(date.getDate() + 1); } return {days, mondays}; } const {days, mondays} = getDaysInMonth(1, 2021); const allMonday = mondays.map(monday => `<li class="mon">${monday}</li>`).join(''); const allDays = days.map(day => `<li class="day">${day}</li>`).join(''); $('#start_dates .monday_dates').append(allMonday); $('#all_dates .all_dates').append(allDays);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> Only Mondays: <div id="start_dates"> <ul class="monday_dates"></ul> </div> All Days: <div id="all_dates"> <ul class="all_dates"></ul> </div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

.getDay devuelve 1 para el lunes y respectivamente para otros días

 <div id="start_dates"></div> elmRef = document.querySelector("#start_dates"); ulRef = document.createElement("ul"); for (i = 0; i < dates_array.length; i++) { if (dates_array[i].getDay() == 1) { li = document.createElement("li"); li.append(dates_array[i].toLocaleString()); ulRef.append(li) } } elmRef.append(ulRef);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda