使用时刻js创建一个星期几和一天中几小时的数组?

时间:2014-09-18 05:59:25

标签: javascript angularjs datetime momentjs

想知道是否有办法获得momentjs或者只是使用纯javascript来创建一周中的每天,以及一天中的每个小时,这样我就不必对其进行硬编码。

所以不要手动执行

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

我正在寻找一种方法来做类似

的事情
weekArray = moment.js(week)

特别是白天的时间相同,所以我可能会使用不同的格式。

3 个答案:

答案 0 :(得分:40)

对于工作日,您可以使用moment's weekdays method

weekArray = moment.weekdays()

答案 1 :(得分:4)

我使用这个解决方案:

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(字符串)以更改日期格式。例如' dddd'将显示:

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

检查Moment.js documentation以获取更高级的格式

答案 2 :(得分:0)

这里有一个小片段,可以从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')