<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

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

Помимо самого курса Вас ждёт ещё бесплатный ценный Бонус: «Ранний выход на пенсию». В рамках этого Бонуса Вы узнаете, какой должен быть капитал конкретно в Вашем случае, варианты его получения, а также какие есть стратегии вывода капитала на пенсии и где их можно протестировать.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Вывод диапазона дат в JavaScript

Вывод диапазона дат в JavaScript

На этом уроке вы узнаете о том, как вывести даты на страницу в указанном диапазоне времени.

Зададим поля ввода для начальной и конечной даты. Date является встроенным объектом в браузер и предназначен для вывода текущей даты.

<div>
    <input type="date" id="startDate">
</div>
<div>
    <input type="date" id="endDate">
</div>

//Блок для вывода дат на страницу
<div id="out"></div>

На странице появились два одинаковых поля и при клике по иконке календаря, раскрывается календарь с текущей датой. Пока что текущая дата у обоих календарей - 11 ноября.


Вывод диапазона дат в JavaScript.


Вывод диапазона дат в JavaScript.

Однако текущая дата стоит там по умолчанию, вы легко можете выбирать свои даты в календаре, задавать им любой диапазон.


Вывод диапазона дат в JavaScript.

Создадим кнопку для обработки результата выбранного диапазона.

<button>Показать результат</button>

Получим нашу кнопку, повесим на нее событие клика и приступим к написанию функции. Первым делом получим данные из инпутов - это даты, которые ввел пользователь.

document.querySelector('button').onclick = function (){
    // получение значения инпутов
    let startDate = document.querySelector('#startDate').value;
    let endDate = document.querySelector('#endDate').value;
    // вывод значений в консоль
    console.log(startDate);
    console.log(endDate);
}

На данном этапе сделаем проверку, что все у нас правильно. При клике по кнопке, выбранные данные успешно выводятся в консоль. Наверняка вы заметили, что у дат в инпутах и в консоли отличается формат записи: в одном случае дата записана через точку, в другом - через дефис.


Вывод диапазона дат в JavaScript.

Что нужно знать о форматах дат?

Прежде чем работать с датами, их обязательно нужно преобразовать в числовой формат. Дело в том, что во всех компьютерах время считается по Unix системе. Что это значит? Это количество миллисекунд отсчитываемых от 1 января 1970 года. В каждой стране существует свой способ записи даты и чтобы не учитывать огромное количество различных вариантов при написании кода. В программировании принято сначала преобразовать все даты к общепринятому числовому формату, прежде чем манипулировать ими. А итоговый вариант выводить на страницу в уже нужном человеко понятном формате. Такой подход позволяет избегать ошибок и неточностей из-за существующего разнообразия форматов.

Метод Date.parse преобразовывает человекочитаемый формат в миллисекунды.

startDate = Date.parse(startDate);
endDate = Date.parse(endDate);


Вывод диапазона дат в JavaScript.

После преобразования, мы переходим к расчету диапазона чисел. Запускаем цикл и будем каждый раз увеличивать счетчик i на одни сутки, так мы узнаем какие конкретно числа находятся в выбранном диапазоне.

// В условии цикла расчет ведется миллисекундах
for (let i=startDate; i < endDate; i=i+24*60*60*1000){
    console.log(i);
}

Как и следовало ожидать, наши даты вывелись в миллисекундах. Необходимо их обратно преобразовать в человекопонятный формат.


Вывод диапазона дат в JavaScript.

Пропустим объект new Date через форматирование с помощью метода toISOString().

console.log(new Date(i).toISOString());

Вывод диапазона дат в JavaScript.

Далее вырежем из него нужную часть даты.

console.log(new Date(i).toISOString().substr(0, 10));

Осталось вывести наши данные на странице.

out.innerHTML += (new Date(i).toISOString().substr(0, 10) + '<br>');

Сработало! Мы получили даты, находящиеся между выбранным диапазоном дат.


Вывод диапазона дат в JavaScript.

Код целиком:

document.querySelector('button').onclick = function (){
    let startDate = document.querySelector('#startDate').value;
    let endDate = document.querySelector('#endDate').value;
    startDate = Date.parse(startDate);
    endDate = Date.parse(endDate);
    let out = document.querySelector('#out');
    // В условии цикла расчет ведется миллисекундах
    for (let i=startDate; i < endDate; i=i+24*60*60*1000){
        out.innerHTML += (new Date(i).toISOString().substr(0, 10) + '<br>');
    }
}

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.