繁体   English   中英

使用moment.js使用周数获​​取一周中的日期

[英]Get the dates in a week using week number using moment.js

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

要使用weekNumber获取星期几 ,请设置星期数,获取startOf week并进行迭代以获取每个日期。 如果未指定周,则使用一年的第一周。

 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> 

要使用date获取星期几 ,请设置startOf week并进行迭代以获取每个日期。 如果未指定日期,则使用today的日期。

 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> 

2015年第16周的所有天数(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> 

使用YYYY-we来进行对语言环境敏感的星期处理。

暂无
暂无

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

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