使用moment js创建一个包含一周中的几天和一天中的几个小时的数组

Using moment js to create an array with days of the week and hours of the day?

本文关键字:小时 数组 几天 几个 一天 一周 js moment 创建 包含 一个      更新时间:2023-09-26

想知道是否有办法获得momentjs,或者只使用纯javascript创建一个一周中每天和一天中每小时的数组,这样我就不必硬编码了。

因此,与其手动进行

weekArray = ["Monday", "Tuesday", "Wednesday" ....]

我正在寻找一种类似的方法

weekArray = moment.js(week)

尤其是在一天中的某些时候,我也有同样的想法,所以我可能会使用不同的格式。

对于工作日,您可以使用moment的工作日方法

weekArray = moment.weekdays()

我使用这个解决方案:

var defaultWeekdays = Array.apply(null, Array(7)).map(function (_, i) {
    return moment(i, 'e').startOf('week').isoWeekday(i + 1).format('ddd');
});

我得到的结果:

["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]

您可以修改.format(字符串)来更改日期格式。E.g"dddd"将显示:

["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]

查看Moment.js文档了解更高级的格式

这里有一个小片段,可以从Moment.js:中获取一周中几天的(特定于地区的)名称

var weekdayNames = Array.apply(null, Array(7)).map(
    function (_, i) {
        return moment(i, 'e').format('dddd');
    });
console.log(weekdayNames);
// Array [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]

如果希望本周从周一开始,请将moment(i, 'e')替换为moment(i+1, 'e')