Генератор диапазона дат

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы изучим, как создать генератор диапазона дат с использованием JavaScript. Этот генератор позволит нам легко генерировать все даты в заданном диапазоне с заданным шагом. Используя конструктор Date и ключевое слово yield, мы можем эффективно перебирать даты и возвращать их пользователю. Это практическое занятие станет прекрасным шансом для практики работы с циклами и датами в JavaScript.

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 100%. Он получил 100% положительных отзывов от учащихся.

Генератор диапазона дат

Для генерации всех дат в заданном диапазоне с заданным шагом используйте следующий код в Терминале/SSH и введите node:

const dateRangeGenerator = function* (start, end, step = 1) {
  let d = start;
  while (d < end) {
    yield new Date(d);
    d.setDate(d.getDate() + step);
  }
};

Это создает генератор, который использует цикл while для итерации от start до end, используя конструктор Date для возврата каждой даты в диапазоне и увеличивая на step дней с использованием Date.prototype.getDate() и Date.prototype.setDate().

Чтобы использовать значение по умолчанию 1 для step, опустите третий аргумент.

Вот пример использования dateRangeGenerator:

[...dateRangeGenerator(new Date("2021-06-01"), new Date("2021-06-04"))];
// [ 2021-06-01, 2021-06-02, 2021-06-03 ]

Резюме

Поздравляем! Вы завершили практическое занятие по генератору диапазона дат. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.