function addOneMonth(date) { const newDate = new Date(date); newDate.setMonth(newDate.getMonth() + 1); if (newDate.getDate() !== date.getDate()) { newDate.setDate(0); } return newDate; } const today = new Date(2024, 10, 17); // October 17, 2024 const oneMonthFromToday = addOneMonth(today); console.log(oneMonthFromToday);
Months are 0 indexed in JavaScript. So, new Date(2024, 10, 17) is actually November 17, 2024. When we add one month to that date, we get December 17, 2024.
function addOneMonth(date) { const newDate = new Date(date); newDate.setMonth(newDate.getMonth() + 1); if (newDate.getDate() !== date.getDate()) { newDate.setDate(0); } return newDate; } const today = new Date(2024, 9, 17); // October 17, 2024 const oneMonthFromToday = addOneMonth(today); console.log(oneMonthFromToday);