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

如何基于dayjs生成按周偏移的日期数组?

实现按周偏移的日期数组(基于Day.js)

核心思路

要生成按周偏移的日期数组,你可以利用Day.js的日期增减方法和格式化方法,通过循环生成指定数量的日期项:

  • 确定起始日期(即你传入的dayjs()实例)
  • 循环指定次数(比如示例中的4次),每次给当前日期累加1周(或7天)
  • 将每次计算后的日期格式化为DD/MM/YYYY字符串,存入数组

代码示例

const dayjs = require('dayjs'); // 确保已引入Day.js

// 生成按周偏移的日期数组
function generateWeeklyDates(startDate, count) {
  const dates = [];
  let currentDate = startDate;
  for (let i = 0; i < count; i++) {
    // 格式化日期为DD/MM/YYYY格式
    dates.push(currentDate.format('DD/MM/YYYY'));
    // 累加1周(等价于add(7, 'day'),用week单位更直观)
    currentDate = currentDate.add(1, 'week');
  }
  return dates;
}

// 使用示例:传入当前日期,生成4个按周偏移的日期
const result = generateWeeklyDates(dayjs(), 4);
console.log(result);
// 输出类似 ["16/08/2022","23/08/2022","30/08/2022","06/09/2022"]

关键细节说明

  • 日期累加逻辑:Day.js的add()方法支持'week'作为单位,add(1, 'week')和add(7, 'day')效果完全一致,使用'week'更贴合业务语义
  • 格式化规则:DD对应两位数日期、MM对应两位数月份、YYYY对应四位数年份,刚好匹配你需要的输出格式
  • 起始日期调整:如果需要从起始日期的下一周开始生成,只需在循环前先执行一次currentDate = currentDate.add(1, 'week')即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:06:27