想知道是否有办法获得momentjs或只是使用纯javascript来创建一周中的每天的数组,以及一天中的每个小时,以便我不必对其进行硬编码。
所以不要手动做
weekArray = ["Monday", "Tuesday", "Wednesday" ....]
我正在寻找一种方法来做类似的事情
weekArray = moment.js(week)
特别是在白天的时间相同的想法,所以我可能使用不同的格式。
平日,你可以使用moment's weekdays method
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(字符串)以更改日期格式。例如,'dddd'将显示:
["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
检查Moment.js documentation以获得更高级的格式
这里有一个小片段来获取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')
。