function getMonthStartAndEnd(dateStr) {
const date = new Date(dateStr);
const year = date.getFullYear();
const month = date.getMonth();
const startOfMonth = new Date(year, month, 1);
let endOfMonth = new Date(year, month + 1, 0);
const formatDate = (date) => {
const d = new Date(date);
let month = '' + (d.getMonth() + 1);
let day = '' + d.getDate();
let year = d.getFullYear();
if (month.length < 2)
month = '0' + month;
if (day.length < 2)
day = '0' + day;
return [year, month, day].join('-');
};
return {
start: formatDate(startOfMonth),
end: formatDate(endOfMonth)
};
}
const monthDates = getMonthStartAndEnd('2024-04-18');
console.log(`Month starts on: ${monthDates.start} and ends on: ${monthDates.end}`);