Как составить список дат при подсчете дня недели moment.js? - PullRequest
0 голосов
/ 11 декабря 2018

Я использую Moment.js, чтобы вычислить разницу между двумя указанными датами.Специально моя задача состоит в том, чтобы вычислять дни недели для заданного диапазона дат, а не вычислять и выходные, а также специальные данные, например, праздники.

Moment.JS

Я нашел эту симпатичную библиотеку для простого вычисления, которая интегрирована с Moment.js: Калькулятор дня недели с библиотекой моментов

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

moment().weekdayCalc({  
  rangeStart: '1 Apr 2015',  
  rangeEnd: '31 Mar 2016',  
  weekdays: [1,2,3,4,5],  
  exclusions: ['6 Apr 2015','7 Apr 2015'],
  inclusions: ['10 Apr 2015']
})

Из этого кода я получаю только числовые выходные данные.(Результат - 260)

Можно ли получить список дат в массиве JavaScript, например:

["гггг-мм-дд", "гггг-мм-дд","гггг-мм-дд", "гггг-мм-дд", .....]

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете легко достичь желаемого с помощью date-fns , который я бы также рекомендовал использовать вместо Moment по другим причинам .Я не тестировал приведенный ниже код, но уверен, что это будет что-то в этом роде.

const { eachDay, isWeekend, format } = require('date-fns');
var daysArray = eachDay(
     new Date(2014, 9, 6),
     new Date(2014, 9, 10)
);

var weekdaysArray = daysArray.filter(day => !isWeekend(day));
var formattedWeekdays = weekdaysArray.map(day => format(day, 'yyyy-mm-dd'));
...