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