如何使用 javascript 获取特定周的第一天(11 月的第 2 周)和特定周的最后一天(11 月的第 4 周)

How to get first day of particular week(week 2 in november) and last day of particular week(week 4 in november) using javascript

我需要在 javascript 中实现一个功能,它需要从周到周作为输入,即它需要当月的周数(例如:1、2、3、4、5、6)和获取当前月份当前年份

中一周的开始日期和其他一周的结束日期

例如:选择 34 应该给出当月 第三周 第一天和第 4 周 最后一天 在 Nov:2018 中,输出应为 11/11/2018 和 24/11/2018

您可以尝试以下方法来计算您的预期结果。下面的解决方案将月份作为输入,以便我们可以验证任何月份

function getDates(m, a, b) {
  var date = new Date()
  , y = date.getFullYear()
  , lastDate = new Date(y, m, 0).getDate()
  
  var offset = new Date(new Date().setDate(1)).getDay()
  
  return [(a - 1) * 7 + 1, b * 7].map(d => {
    d -= offset
    if(d < 1) d = 1
    if(d > lastDate) d = lastDate
    return d + '/' + m + '/' + y
  })
}

console.log(getDates(11,1,2))
console.log(getDates(11,2,3))
console.log(getDates(11,3,4))
console.log(getDates(11,1,5))

function getRange(week1, week2){
    var start = (moment().startOf('month') >  moment().startOf('month').add(week1 - 1, 'week').startOf('week')) ? moment().startOf('month') : moment().startOf('month').add(week1 - 1, 'week').startOf('week');
    var end   = ( moment().endOf('month')  <  moment().startOf('month').add(week2 - 1 , 'week').endOf('week')) ? moment().endOf('month'): moment().startOf('month').add(week2 - 1 , 'week').endOf('week');

    console.log(start.format('D/MM/YYYY'))
    console.log(end.format('D/MM/YYYY'))

}

如果可以使用moment.js