Как определить день и месяц следующего понедельника?

276
11 февраля 2017, 09:18

На странице нужно выводить дату следующего понедельника. Например. если заходим на страницу сегодня, то выводится "13 февраля". Также если мы зайдем на страницу до 7 вечера 13 февраля, то дата не меняется. Но если мы заходим 13 февраля после 7 часов вечера, выводится уже 20 февраля, и т.д. Как это можно реализовать? Код написать не могу, т.к. даже не представляю, с чего начать.

Answer 1

var d = new Date(); 
var monthNames = new Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"); 
 
//допустим сегодня 13 текущего месяца 
d.setDate(13); 
 
var currentHour = d.getHours(); // 18 для проверки 
 
if(currentHour < 19) { 
  // до 19:00, показываем текущий понедельник 
  d.setDate(d.getDate() + (1 + 7 - d.getDay()) % 7); 
} else { 
  //после 19:00, показываем следующий понедельник 
  d.setDate(d.getDate() + (7-d.getDay())%7+1); 
} 
 
alert(d.getDate() + ' - ' + monthNames[d.getMonth()]);

Answer 2

Можно использовать библиотеку момент. Следующий понедельник будет:

moment().day(8).format('DD.MM.YYYY')

метод day выбирает день относительно установленого числа. Например,

moment().day(1).format('DD')

покажет дату для понедельника который на этой неделе.

READ ALSO
Как обновить день и месяц следующего понедельника в определенное время?

Как обновить день и месяц следующего понедельника в определенное время?

Для вывода дня и месяца следующего понедельника используется код:

258
Почему не работает Intercooler после Ajax запроса?

Почему не работает Intercooler после Ajax запроса?

Речь об этой библиотекеПодключил ее

286
Как закрыть уже открытое меню бутстрапа, если пользователь открыл другое меню?

Как закрыть уже открытое меню бутстрапа, если пользователь открыл другое меню?

Добрый день, У меня адаптивный сайт работающий с BootstrapВ мобильной версии оба моих меню сворачивается в свой гамбургер

226
Html.Kendo().MaskedTextBox() маска русские буквы

Html.Kendo().MaskedTextBox() маска русские буквы

Необходимо создать маску ввода только для русских символов + пробел + точка + запятаяНикак не пойму как указать что именно русские буквы

259