Usando la fecha actual new Date(), me gustaría calcular la fecha para el miércoles siguiente usando Javascript.
Por ejemplo, la fecha actual es hoy:
"Sun Apr 18 2022 15:00:00 GMT"Lo que me gustaría hacer es obtener la fecha para el próximo miércoles, que sería:
"Wed Apr 20 2022 15:00:00 GMT"Si el día actual es miércoles, me gustaría calcular la fecha para el miércoles siguiente.
¿Cómo podría lograr esto?
Use el método getDay que le dará el día de la semana (0 - 6, de domingo a sábado). (El miércoles es el día 3)
function nextWednesday(date) { const day = date.getDay(); // getDay returns between 0 - 6. Sunday - Saturday. // 3 is Wednesday let daysToAdd = 0; if (day < 3) { daysToAdd = 3 - day; } else { daysToAdd = 7 - day + 3; } return new Date(date.getTime() + daysToAdd * 24 * 60 * 60 * 1000); } const today = new Date(); console.log('today: ', today.toString()); console.log('following wednesday: ', nextWednesday(today).toString())Cada vez que necesito encontrar algo en JavaScript, busco en Internet y prefijo "mdn" para buscar en el sitio de desarrollo de Mozilla. Por ejemplo, si busca en Google "mdn weekday" obtendrá un resultado que apunta a la documentación de Date.prototype.getDay() .
Probablemente terminaría con algo como esto:
function daysToWednesday(dt) { const day = Date(dt).getDay(); if (day < 3) { return 3 - day; } else { return 10 - day; } } function nextWednesday(dt) { const ret = Date(dt); ret.setDate(ret.getDate() + daysToWednesday(ret)); return ret; }