Javascript 如何使用moment js获得重叠两个月的星期一?
我需要在周一使用api创建一些记录 获取星期一的规则是,它应该是给定月份的第一个星期一或给定月份的最后一个星期一 例如: 如果输入日期范围为2020年9月1日至2020年9月30日,我需要提取2020年9月28日 如果输入日期范围为2020年10月1日至2020年10月31日,我需要提取2020年10月26日 如果输入日期范围为2020年11月1日至2020年11月30日,我需要提取2020年11月30日 如果输入日期范围为2020年11月1日至2020年12月31日,我需要提取2020年12月28日 到目前为止,我所做的是提取给定月份的所有周一,并将它们存储在一个数组中。我试着拉每月的第一个或最后一个星期一,但这几个月有效,其他几个月无效 因此,我在想,如果我知道某一天(星期一)的一周,它与两个月重叠,那么我就可以提取该星期一Javascript 如何使用moment js获得重叠两个月的星期一?,javascript,arrays,date,momentjs,Javascript,Arrays,Date,Momentjs,我需要在周一使用api创建一些记录 获取星期一的规则是,它应该是给定月份的第一个星期一或给定月份的最后一个星期一 例如: 如果输入日期范围为2020年9月1日至2020年9月30日,我需要提取2020年9月28日 如果输入日期范围为2020年10月1日至2020年10月31日,我需要提取2020年10月26日 如果输入日期范围为2020年11月1日至2020年11月30日,我需要提取2020年11月30日 如果输入日期范围为2020年11月1日至2020年12月31日,我需要提取2020年12月
所以我的问题是如何得到一周中的星期一,它重叠两个月?我正在使用MomentJS。可能太晚了,但它可能对未来的观众有所帮助 该函数采用
开始
和结束
,但我们只使用结束
,因此您可以取消开始
,因为所有操作都将在结束
日期进行,以便获得最后一个星期一。为了实现我们的目标,我们需要做两个简单的步骤:
end
日期获取月底函数lastMonday(开始、结束){
log('Start is',moment(Start).format('LL');
log('End is',moment(End).format('LL');
返回时刻(结束).endOf('month').day('Monday');
}
console.log(‘上周一是’、上周一(‘2020-09-01’、‘2020-09-30’)。格式(‘LL’);
console.log(‘上周一是’、上周一(‘2020-10-01’、‘2020-10-31’)。格式(‘LL’);
console.log(‘上周一是’、上周一(‘2020-11-01’、‘2020-11-30’)。格式(‘LL’);
console.log(‘上周一是’、上周一(‘2020-11-01’、‘2020-12-31’)。格式(‘LL’)代码>
你如何知道你是否需要得到某个月的第一个或最后一个星期一?我不需要知道。如果我有一周的时间,它与接下来的两个月重叠,那将是正确的星期一。理想情况下,每月只应在月初创建一次记录。不要太晚:)。正是我想要的。这段时间,我一直在循环。虽然它可以做到,但它不像这个那么干净。非常感谢。