返回值應該是像「10/31/2016 8/31/2017」之類的字符串。該函數返回一年中的所有星期一,但如果它們是該月的最後一天,我只需要每月最後一個星期一的日期。如何僅獲取星期一在兩個給定日期之間的月份的最後一天的日期
function getMondays(startYear, endYear) {
const startDate = new Date(startYear, 0, 2)
const endDate = new Date(endYear, 11, 32)
var i = startDate,
month = i.getYear(),
mondaysOfYear = []
while (i.getDay() !== 2) {
i.setDate(i.getDate() + 1)
}
while (i.getYear() === month) {
mondaysOfYear.push(new Date(i.getTime()))
i.setDate(i.getDate() + 7)
}
return mondaysOfYear
}
getMondays(2017, 2017)
迭代範圍幾個月,設置日期每個月的第一天,回到哪一天'date.setDate(date.getDate() - 1);'和檢查'date.getDay()=== 2' – pawel
如果startYear是2017,你將如何獲得10/31/2016 – Slai
爲什麼'endDate = new Date(endYear,11,32)'?那將是次年1月1日。 – RobG