简体   繁体   中英

Get the dates in a week using week number using moment.js

如何获取指定星期的数组中的日期?

To get the days of the week using weekNumber , set the week number, get the startOf week and iterate to get each date. If no week is specified, 1st week of the year is used.

 var dateformat = "YYYY/MM/DD"; function getWeekDaysByWeekNumber(weeknumber) { var date = moment().isoWeek(weeknumber||1).startOf("week"), weeklength=7, result=[]; while(weeklength--) { result.push(date.format(dateformat)); date.add(1,"day") } return result; } console.log(getWeekDaysByWeekNumber()) console.log(getWeekDaysByWeekNumber(2)) console.log(getWeekDaysByWeekNumber(25)) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> 

To get the days of the week using date , set the startOf week and iterate to get each date. If no date is specified, today 's date is used.

 var dateformat = "YYYY/MM/DD"; function getWeekDaysByDate(date) { var date = date ? moment(date,dateformat) : moment(), weeklength=7, result=[]; date = date.startOf("week") while(weeklength--) { result.push(date.format(dateformat)); date.add(1,"day") } return result; } console.log(getWeekDaysByDate()) console.log(getWeekDaysByDate("2018/07/18")) console.log(getWeekDaysByDate("2018/06")) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> 

All the days of the week 16 of 2015 (ISO):

 let days = [1, 2, 3, 4, 5, 6, 7] .map(d => moment('2015-16-' + d, 'YYYY-W-E')); console.log(days); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script> 

Use YYYY-we for locale-sensitive week handling.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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