Нужна помощь с dayjs

Всем привет подскажите пожалуйста как получить с помощью dayjs массив месяцев начиная с заданной даты (например 01/03/2021). На выходе хочу получить массив вида:

["март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь", "январь", "февраль"]

Ответы (2 шт):

Автор решения: Александр

Добился вот такого решения. Но может кто знает решение поизящней испульзуя доп. плагины dayjs.

const startDate = dayjs('2021-03-01').month();
const allMonths = dayjs.months();

const oldMonth = allMonths.splice(startDate, allMonths.length);
const featureMonth = allMonths.slice(0, oldMonth.length);
const result = [...oldMonth, ...featureMonth];

oldMonth: ["март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"]

featureMonth: ["январь", "февраль"]

result: ["март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь", "январь", "февраль"]
→ Ссылка
Автор решения: yar85

Без сторонних библиотек:

const foo = (dateStr, locale = 'ru-RU') => {
  const month = dateStr.split(/\D+/)[1] - 1,      // получение из строки даты порядкового номера месяца, с отсчетом от нуля (0: январь, 1: февраль, ...)
        date = new Date(0),
        tlsParams = [locale, { month: 'long' }];
  return Array.from({ length: 12 }, (_, i) => {   // инициализатор массива на каждой своей итерации меняет месяц объекта даты (последовательно инкрементируя начальный месяц все бóльшим значением), и возвращает строковое представление даты в "заказанном" формате (только полное название месяца)
    date.setMonth(+month + i);                    // этот метод корректно учитывает переполнение (значения аргумента >11 допустимы по стандарту ES, и обрабатываются в соответствии с естественной логикой)
    return date.toLocaleDateString(...tlsParams);
  });
};

console.log(foo('2021-03-01'));

Вторым параметром можно указать локаль, если понадобятся названия месяцев на другом языке (конечно же, указанная локаль должна поддерживаться средой выполнения JS).

Данный простой алгоритм можно применять и с библиотеками для работы с датами - при том условии, что используемая библиотека должна так же правильно учитывать переполнение при изменении компонентов даты (как это делает стандартный объект Date).

→ Ссылка