Как получить следующее вхождение в понедельник (Даты), используя машинопись? - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь получить следующие вхождения 13 дат понедельника, используя машинопись .

Я пробовал с приведенным ниже кодом, но получаю только дату следующего понедельника.Мне нужно получить оставшиеся понедельник (даты) одновременно с добавлением в массив.

Я использую угловой 4 и машинописный текст для того же самого.

Может ли кто-нибудь предложить какую-либо идею этой проблемы.

ниже мой код

  var mondayDate = this.dateFrom;
  var dateFrom = mondayDate.setDate(mondayDate.getDate() + (7 - mondayDate.getDay()) % 7 + 1);
  var firstMonday = new Date(dateFrom);
  -----------
  -----------

Большое спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

В этом решении конечный результат будет в формате dd/mm/yyyy.

var fromDate = new Date(2018, 10, 28); //28/11/2018
var toDate = new Date(2018, 11, 28); //28/12/2018

var tempDate = fromDate;
var noOfDays = Math.round((toDate-fromDate)/(1000*60*60*24));
var noOfWeek = noOfDays/7;
var mondays = [];
for(var i =0; i < noOfWeek; i++){
  tempDate.setDate(tempDate.getDate() + (7 - tempDate.getDay()) % 7 + 1);
  if(tempDate < toDate){
    mondays.push(tempDate.getDate()+"/"+(tempDate.getMonth()+1)+"/"+tempDate.getFullYear());
  }
}
          
console.log(mondays);
0 голосов
/ 28 ноября 2018

Это должно помочь вам.

moment.js также является хорошим вариантом

//d can be any date
var d = new Date();
d.setDate(d.getDate() +1);
 

function getNextMonday(anyDate){
  var dayOfWeek= anyDate.getDay();
  var aux=dayOfWeek?1:-6; //if it is sunday or not
  var nextMonday= new Date();
  nextMonday.setDate(anyDate.getDate() - dayOfWeek + aux +7)
  return nextMonday;
}


console.log(getNextMonday(d));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...