如何获取指定星期的数组中的日期?
答案 0 :(得分:2)
要使用weekNumber获取星期几,请设置星期数,获取startOf
周,然后迭代获取每个日期。如果未指定周,则使用一年的第一周。
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>
要获取使用日期的星期几,请设置startOf
周并进行迭代以获取每个日期。如果未指定日期,则使用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>
答案 1 :(得分:1)
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-w-e
进行对语言环境敏感的星期处理。