Ответ 1
В будние дни вы можете использовать метод мгновенного буднего дня
weekArray = moment.weekdays()
Интересно, есть ли способ получить momentjs или просто использовать чистый javascript для создания массива повседневной недели и каждый час в день, чтобы мне не пришлось его жестко кодировать.
Итак, вместо того, чтобы делать вручную
weekArray = ["Monday", "Tuesday", "Wednesday" ....]
Я ищу способ сделать что-то вроде
weekArray = moment.js(week)
То же самое можно сказать и о времени в течение дня, поэтому я могу потенциально использовать разные форматы.
В будние дни вы можете использовать метод мгновенного буднего дня
weekArray = moment.weekdays()
Вот небольшой фрагмент, чтобы получить (локальные) имена дней недели от 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')
.
Я использую это решение:
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(string), чтобы изменить формат дней. Например, 'dddd' будет отображать:
["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
Отметьте Документацию Moment.js для более продвинутого формата