JSFiddle - React, Tailwind, and code Playground

by ti2005

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>

JavaScript

let trend_type = 3;
let from = '20190125'; // YYYYMMDD
let to = '20190326'; // YYYYMMDD



function getDateFromString(date, format) {
  if (!format) {
    format = "YYYYMMDD";
  }
  let a = moment(date, format);
  return a.format();
}

const fromDate = getDateFromString(from);
const toDate = getDateFromString(to);

// Date of From date
const dateOfFrom = moment(fromDate).format('DD');
// Date of To
const dateOfTo = moment(toDate).format('DD');

// First date of From date
/* const firstDayOfFrom = moment(fromDate).startOf('month').format('DD'); */
// Last date of To data
const lastDayOfTo = moment(toDate).endOf('month').format('DD');

/* const fromDate = moment(getDateFromString(from)).format('DD'); */

/* console.log(`From (First Date) => firstDayOfFrom: ${firstDayOfFrom}`); */
console.log(`To (Last Date) => lastDayOfTo: ${lastDayOfTo}`);

console.log(`From (Date) =>  dateOfFrom: ${dateOfFrom}`);
console.log(`To (Date) => dateOfTo: ${dateOfTo}`);

/* if ((dateOfFrom > firstDayOfFrom || dateOfTo > lastDayOfTo) && trend_type === 3) { */
if (trend_type === 3) {
  if (dateOfFrom == 1 && dateOfTo == lastDayOfTo) {
    console.log("LOGIC SAME");
  } else {
    console.log("LOGIC CHANGED");
    
    if(dateOfFrom > 1 && dateOfTo < lastDayOfTo) {
        console.log("_____________________________");
        console.log("CASE 1");
        const lastDayOfFromDate = moment(fromDate).endOf('month').format();
        console.log(lastDayOfFromDate);
        console.log(`db.statsDaily.find(brand: '', date: {$gte: ${fromDate}, $lte: ${lastDayOfFromDate}})`);
        const firstDayOfToDate = moment(toDate).startOf('month').format();
        console.log(firstDayOfToDate);
        console.log(`db.statsDaily.find(brand: '', date: {$gte: ${firstDayOfToDate}, $lte: ${toDate}})`);
        const monthDifference =  moment(toDate).diff(fromDate, 'months', true);
        console.log(monthDifference);
        if(monthDifference > 2) {
        console.log(`db.statsMonthly.find(brand: '',...