繁体   English   中英

如何使用“时刻”获取一年中每个月的一周的开始日期

[英]how to get starting date of the week of each month of the year using "moment"

我在我的项目中使用了“时刻”。

我试图获得给定年份的整周开始日期。

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 年一周的开始日期。

请告诉我,我怎样才能实现它?

这有效。 虽然我相信其他人会有一个更简洁的答案。

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM