Reactjs, как получить всю активность за каждый месяц по году с помощью моментов. js - PullRequest
0 голосов
/ 03 мая 2020

У меня есть этот большой массив ДАННЫЕ:

enter image description here

Ключ: comprar_fecha_oper имеет дату, с которой мне нужно работать.

Отсюда мне нужно знать год и месяц, когда производится деятельность. Для выполнения этой задачи я вычислил первую дату и последний день из массива DATA.

С этим кодом:

const getFirstAndLastDate = (DatosFechas) => {
    DatosFechas = DatosFechas.sort()
    //Devuelve primera fecha y última fecha
    return [DatosFechas[0], DatosFechas[DatosFechas.length - 1]]
      }

Результат:

Первая дата: 2018-01-16 Последняя дата: 2020-05-03

Затем мне нужно добавить дополнительную дату и последний день, если активация выполнена, и знать, что это год и месяц.

С этим кодом:

function ListarLosMesesEntreDosFechas(inicio, fin) {

    var dateStart = moment(inicio);
    var dateEnd = moment(fin);
    var interim = dateStart.clone();
    var timeValues = [];

    while (dateEnd > interim || interim.format('M') === dateEnd.format('M')) {
       timeValues.push(interim.format('YYYY-MM'));
       interim.add(1,'month');
    }
    return timeValues
}

Результат:

["2013-08", "2013-09", "2013-10", "2013-11", «2013-12», «2014-01», «2014-02», «2014-03», «2014-04», «2014-05», «2014-06», «2014-07», «2014 -08 "," 2014-09 "," 2014-10 "," 2014-11 "," 2014-12 "," 2015-01 "," 2015-02 "," 2015-03 "]

Теперь я использую массив DATA для поиска каждой даты, если она включена в указанный диапазон:

logo.forEach(function(item){
    //console.log(item)
    var a = moment(item);
    var start = a.format('YYYY-MM-DD')
    var b = a.add(30, 'days');
    var end = b.format('YYYY-MM-DD')


    console.log("procesing search between date : ",start , " and last date: ", end)
    letrado.forEach((value, key) => {
        //console.log("1-key =>", key, "1-value =>", value.compra_fecha_oper);

        let tonto = moment(value.compra_fecha_oper).isBetween(start, end); // true
        if (tonto = true){
            console.log("Value Date: ",value.compra_fecha_oper ,"Has result: ",  tonto)

        }

    });

  });

Цель этого кода - найти действия, которые были произведены в течение заданного периода. месяц и добавьте сумму в течение этого месяца.

Но код не работает правильно,

Любая помощь? спасибо.

...