Список дат и месяцев
Помогите с реализацией функции, которая будет возвращать список последующего месяца от текущего дня.
function getListDays() {
let dates = [];
let today = new Date();
let lastDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 1)
let j = 30;
for (let i = today.getDate(); i <= lastDayOfMonth.getUTCDate(); i++) {
let param = {};
param['day'] = i;
param['month'] = today.getMonth();
dates.push(param);
}
if (j > 0) {
for (let i = 1; i < j; i++) {
let param = {};
param['day'] = i;
param['month'] = today.getMonth() + 1;
dates.push(param);
j--;
}
}
return dates;
}
console.log(getListDays());
вот что у меня вышло есть ли более лучшее решение?
Ответы (1 шт):
Автор решения: Laukhin Andrey
→ Ссылка
У объекта Date есть метод setDate(), при помощи которого можно установить дату на следующий день: date.setDate(date.getDate() + 1)
Осталось повторить это 30 раз и заполнить массив:
let date = new Date();
let days = [];
for (let i = 0; i < 30; i++) {
days.push({
day: date.getDate(),
month: date.toLocaleString("en-US", { month: "long" })
});
date.setDate(date.getDate() + 1);
}
console.log(days);
Еще вариант:
let d = new Date();
let days = Array(30).fill({}).map(
$ => new Object({day: d.getDate(), month: d.getMonth()}, d.setDate(d.getDate() + 1))
);
console.log(days);