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

如何使用MomentJS生成指定格式的周日期对象数组?

修改MomentJS代码生成指定格式的周日期数组

你只需要调整数组中推入的内容,从格式化字符串改为包含day和date字段的对象即可,具体修改如下:

修改后的代码

const moment = require('moment')
var startOfWeek = moment().startOf('week');
var endOfWeek = moment().endOf('week');

var days = [];
var day = startOfWeek;

while (day <= endOfWeek) {
    // 推入包含day和date的对象,而非格式化字符串
    days.push({
        day: day.format('ddd'), // 获取星期缩写(如Mon、Tue)
        date: day.date()        // 获取日期数字(如26、27)
    });
    day = day.clone().add(1, 'd');
}

console.log(days);

输出效果

执行后会得到如下格式的数组:

[
  { day: 'Sun', date: 25 },
  { day: 'Mon', date: 26 },
  { day: 'Tue', date: 27 },
  { day: 'Wed', date: 28 },
  { day: 'Thu', date: 29 },
  { day: 'Fri', date: 30 },
  { day: 'Sat', date: 31 }
]

可选调整:仅保留周一至周六

如果你希望去掉周日,只保留周一到周六的日期,可以修改起始周的日期:

// 将起始日改为周一
var startOfWeek = moment().startOf('week').add(1, 'd');

这样执行后就会生成你示例中6个对象的结构,日期也会正确递增。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:20:47