Hola a todos. ¿Me pueden ayudar con este tipo de preguntas? Quiero aumentar los días en la cadena de fecha, por lo que el código es algo así.
var date = new Date() date.setDate(date.getDate() + 1)El problema es que quiero cambiar solo días sin mes, años o tiempo (hms). Entonces, por ejemplo, si tengo la fecha 31 de diciembre de 2021 y aumento el día en uno, quiero obtener el 01 de diciembre de 2021 y no el 01 de enero de 2022. ¿Es posible en JS?
Solo tendrá que verificar y ajustar manualmente si es necesario. Aquí hay una función de ejemplo:
var date = new Date('12/31/2021'); incremenetLoopingDate(date); console.log(date); function incremenetLoopingDate(date){ var mo = date.getMonth(); date.setDate(date.getDate() + 1); if(date.getMonth() !== mo){ date.setMonth(mo); } return date; }Similar a la otra respuesta, pero más simple. Simplemente verifique si la fecha incrementada es 1 y, de ser así, establezca el mes anterior. Tenga en cuenta que esto modifica la fecha pasada.
function incrementMonthLoop(date = new Date()) { date.setDate(date.getDate() + 1); if (date.getDate() == 1) date.setMonth(date.getMonth() - 1); return date; } console.log( incrementMonthLoop(new Date(2021, 11, 31)).toDateString() );