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: '',...