You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取两个指定跨年度日期之间的所有周日期集合

双日期间周日期集合获取实现方案

默认规则说明:以起始日期2021年9月13日的星期(周一)作为每周的取数基准,每次间隔7天遍历覆盖全部时间范围,如果需要调整为其他星期作为周基准,可参考后续调整说明修改。

核心逻辑

  • 初始化起止日期的Date对象,注意JS/TS中Date构造函数的月份参数从0开始计数
  • 用遍历指针从起始日期开始迭代,每次累加7天
  • 每次迭代判断当前日期是否小于等于结束日期,符合条件就推入目标数组

可直接运行代码

// 定义起止日期范围:2021年9月13日 ~ 2024年9月13日
const startDate = new Date(2021, 8, 13);
const endDate = new Date(2024, 8, 13);
// 初始化遍历指针,避免修改原始起始日期变量
let loopDate = new Date(startDate.getTime());

while (loopDate <= endDate) {
  // 拷贝新的日期实例推入数组,避免后续指针修改影响已存入的日期
  this.allSelectedRegions.push(new Date(loopDate.getTime()) as any);
  // 指针后移7天,进入下一周
  loopDate.setDate(loopDate.getDate() + 7);
}

自定义调整说明

  • 若需要取每周日作为周日期:迭代前先调整指针到起始日所在周的周日,添加代码 loopDate.setDate(loopDate.getDate() - loopDate.getDay()) 即可
  • 若需要取每周其他星期几作为基准,修改上述偏移量即可,比如取周三对应偏移量为3:loopDate.setDate(loopDate.getDate() + (3 - loopDate.getDay()))

内容的提问来源于stack exchange,提问作者Jordan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:51:02