Как я могу получить dateRange на основе месяца - PullRequest
1 голос
/ 26 января 2020

Я пытаюсь получить dateRange в течение месяца, исходя из начала недели в этом месяце и до конца недели. Так, например, если я передаю месяц январь 2020 года, dateRange должен получать данные с [2019-12-30 до 2020-01-31],

февраля = [2020-02-03 до 2020- 02-28], Март = [с 2020-03-02 по 2020-04-03]

enter image description here

Ответы [ 2 ]

3 голосов
/ 26 января 2020

Я рекомендую вам проверить момент. js (https://momentjs.com/docs/# / get-set / week / )

Надеюсь, это поможет:)

0 голосов
/ 30 января 2020

Спасибо @ Kaca992 Это было то, что я получил для меня, и это все еще может быть реорганизовано. # MakeThisCodeBetter

   function GregorianWeeksInAYear(){

        let year = 2020;
        let month = 0;
        let startDate = "";
        let endDate = "";

         const monthsInYear = [];


      while (month < 12){
       let isLeapYear = moment([year]).isLeapYear();

     if(isLeapYear){
     if(month > 0){
       startDate = moment([year,month]).startOf('month').isoWeekday(1).add(7,'days');

     }
      else{
         startDate = moment([year,month]).startOf('month').isoWeekday(1);

      }

       endDate = 


moment([year,month]).endOf('month').isoWeekday(1).add(5,'days').subtract(1,'days');
     }
       else{
     startDate = moment([year,month]).startOf('month').isoWeekday(1);

    endDate = moment([year,month]).endOf('month').isoWeekday(1).add(4,'days');
    }
       monthsInYear.push({start:moment(startDate).format('YYYY-MM-DD'),end:moment(endDate).format('YYYY-MM-DD'),name: moment(startDate).add(4,'days').format('MMMM')})

   month++;
        }

     return monthsInYear;
          }
...