Reputation: 350
How to get the dates in a array of a specified week ?
Upvotes: 0
Views: 3613
Reputation: 8751
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>
Upvotes: 4
Reputation: 198324
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-w-e
for locale-sensitive week handling.
Upvotes: 1