Знать день и месяц в виде числа конкретных дат, используя момент - PullRequest
0 голосов
/ 09 июня 2018

У меня есть массив дат в формате «ГГГГ / ММ / ДД», например: dateArr = [2018-06-09, 2018-06-10].Я хочу создать два массива, каждый из которых содержит месяцы определенных дат, а другой - дни конкретных дат в числовой форме.Количество дней:

const daysToNumbers = {
  Sunday: 0,
  Monday: 1,
  Tuesday: 2,
  Wednesday: 3,
  Thursday: 4,
  Friday: 5,
  Saturday: 6
};

и месяцы:

const daysToMonths = {
      Januray: 0,
      February: 1,
      March: 2,
      April: 3,
      May: 4,
      June: 5,
      July: 6,
      August: 7,
      September: 8,
      October: 9,
      November: 10,
      December: 11
    };

Например, первый массив содержит такие дни: [6, 0] и месяц как этот: [5,5] Я думаю, что у moment.js есть какая-то функция для этого, например, день или месяц, но, похоже, она не работает

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Используйте Array#map в исходном массиве для преобразования элементов в моментные объекты, а затем используйте метод get(), чтобы получить соответствующий компонент даты:

const dateArr = ['2018-06-09', '2018-06-10'];
const momentArr = dateArr.map(item => moment(item));
const monthArr = momentArr.map(item => item.get('month'));
const dayArr = momentArr.map(item => item.get('day'));

console.log(monthArr, dayArr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
0 голосов
/ 09 июня 2018

Существуют специальные функции для получения номера дня и номера месяца в моменты времени.Оформить заказ здесь для получения дополнительной информации

var date = "2018-06-09";

console.log(moment(date).day()); // get day of week number 0 to 6

console.log(moment(date).month()); // get month of year 0 to 11
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
...