Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

70
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!