JSFiddle - React, Tailwind, and code Playground

by Alexey

JavaScript

startDate = '';
endDate = '';

function selectPeriod(event) {
  console.log(event);
  if (event === 0) {
    return;
  } else if (event === 1) {
    transformDate(24);
  } else if (event === 2) {
    transformDate(168);
  } else {
    transformDate(0);
  }
}
selectPeriod(3)

function transformDate(hours) {
  const today = new Date();
  today.setHours(0, 0, 0, 0);
  if (hours === 24) {
    const lastDay = today.getTime() - 60 * 60 * hours * 1000;
    const extracted = new Date(lastDay).toLocaleString().split(',')[0];
    const data = extracted.split('.');
    const finalData = data[2] + '-' + data[1] + '-' + data[0];
    startDate = finalData;
    endDate = finalData;
  } else if (hours === 168) {
    const lastWeek = today.getTime() - 60 * 60 * hours * 1000;
    let result = localDate(lastWeek);
    startDate = result.startDate;
    endDate = result.endDate;
  } else {
    const currentDate = new Date(today.getTime());
    const lastMonth = currentDate.setMonth(currentDate.getMonth() - 1);
    let result = localDate(lastMonth);
    startDate = result.startDate;
    endDate = result.endDate;
  }
}

function localDate(date) {
  const today = new Date();
  today.setHours(0, 0, 0, 0);
  const extracted = new Date(date).toLocaleString().split(',')[0];
  const data = extracted.split('.');
  const finalData = data[2] + '-' + data[1] + '-' + data[0];
  const extracted2 = new Date(today.setHours(0, 0, 0, 0)).toLocaleString().split(',')[0];
  const data2 = extracted2.split('.');
  const finalData2 = data2[2] + '-' + data2[1] + '-' + data2[0];
  return {
    startDate: finalData,
    endDate: finalData2
  }
}

console.log(startDate);
console.log(endDate);

  function transformDatetoISO(date) {
    const arr = date.split('-');
    const year = arr[0];
    const month = parseInt(arr[1], 10) - 1;
    const day = parseInt(arr[2], 10);
    const finaldate = new Date(year, month, day);
    
    console.log(finaldate.toISOString()) 
  }
  
  transformDatetoISO(startDate)  
 ...