Как получить начальную дату недели каждого месяца в году, используя "момент"
Я использовал "момент" в моем проекте.
Я пытался получить целую неделю, начиная с данного года.
var weeksOfYear = moment("2018").weeks();
Но это не сработает.
Я хочу следующий вывод.
[1,8,15,22,29,5,12,19,26,5,12,19,26,2,9,16,23,30,7,14,21,28,4,11,18, 25,2,9,16,23,30,6,13,20,27,3,10,17,14,1,8,15,22,29,5,12,19,26,3,10, 17,24];
Если вы сравните вышеуказанный массив с календарем, то увидите, что это начальная дата недели 2018 года.
Скажите, пожалуйста, как мне этого добиться?
1 ответ
Решение
Это работает. Хотя я уверен, что у кого-то еще будет более аккуратный ответ.
var yearInQuestion = 2018;
var setYear = moment().set('year', yearInQuestion);
var firstMonday = (setYear.startOf('year')).startOf('isoweek');
// NB - Monday of that week might have been in the previous year
if (firstMonday.year() < yearInQuestion) {
firstMonday.add(7, 'days');
}
var datesArray = [];
while (firstMonday.year() === yearInQuestion) {
datesArray.push(firstMonday.date());
firstMonday.add(7, 'days');
}
console.log(datesArray);