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

gra*_*per 13 javascript datetime angularjs momentjs

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

所以不要手动做

weekArray = ["Monday", "Tuesday", "Wednesday" ....]
Run Code Online (Sandbox Code Playgroud)

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

weekArray = moment.js(week)
Run Code Online (Sandbox Code Playgroud)

特别是在白天的时间相同的想法,所以我可能使用不同的格式.

小智 43

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

weekArray = moment.weekdays()
Run Code Online (Sandbox Code Playgroud)

  • 是否可以使用区域设置来完成? (3认同)
  • @ilyo是的,例如moment.localeDate('en').weekdays() (2认同)

小智 5

我使用以下解决方案:

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

我得到了结果:

["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
Run Code Online (Sandbox Code Playgroud)

您可以修改.format(string)更改日期格式。例如,“ dddd”将显示:

["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
Run Code Online (Sandbox Code Playgroud)

查看Moment.js文档以获取更多高级格式