Как в JavaScript вывести дни месяца на неделю вперед?

Ребят, делаю приложение прогноза погоды, и мне нужно показать погоду на неделю вперед, соответсвенно у каждой колонки с данными о погоде должна быть своя дата, к примеру начиная от сегодня и заканчивая днем через 6 дней. Естественно дни должны обновляться каждый день, как это сделать?


Ответы (1 шт):

Автор решения: OPTIMUS PRIME

Метод date.getTime() возвращает количество миллисекунд, прошедших с 1-го января 1970. А конструктор Date умеет создавать новый объект из полученного числа (миллисекунд). Можно в цикле добавлять мсек для каждого дня:

const DAY_MILSEC = 24 * 60 * 60 * 1000;

let today = new Date().getTime();
for (let i = 0; i < 7; i++) {
  let date = new Date(today + DAY_MILSEC * i);

  console.log(getDay(date));
}

function getDay(date) {
  let days = ["Вскр", "Пон", "Втр", "Сред", "Чтв", "Пят", "Суб"];
  return date.getDate() + " " + days[date.getDay()];
}

Формально, массив нужно вынести из функции, чтобы не создавать его 7 раз подряд при вызове. Но здесь это не имеет особого значения)

→ Ссылка