我在项目中使用了“时刻”。
我试图在给定年份的整个星期开始。
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年的开始日期。
请告诉我,我怎样才能实现它?
答案 0 :(得分:2)
这很有效。虽然我确信其他人会有更简洁的答案。
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);