JSFiddle - React, Tailwind, and code Playground

datefns differences

by Nalin Sajwan

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.28.5/date_fns.min.js"></script>
<pre id=pre></pre>

TypeScript

const getDeltaBetweenDatesOne = ([start, end]: string[]) => {
	return parseInt(
    (dateFns.differenceInHours(new Date(end), new Date(start)) / 24 + 1).toString(),
  );
};

const getDeltaBetweenDatesTwo = ([start, end]: string[]) => {
  return dateFns.differenceInCalendarDays(new Date(end), new Date(start)) + 1;
};

const getDeltaBetweenDatesThree = ([start, end]: string[]) => {
  return dateFns.differenceInDays(new Date(end), new Date(start)) + 1;
};

function getDeltas(ranges) {
  ranges.forEach((range) => {
    console.log('\n\nRange ==> ', range);
    console.log('getDeltaBetweenDatesOne ==> ', getDeltaBetweenDatesOne(range));
    console.log('getDeltaBetweenDatesTwo ==> ', getDeltaBetweenDatesTwo(range));
    console.log('getDeltaBetweenDatesThree ==> ', getDeltaBetweenDatesThree(range));
  });
}

const ranges = [
	['2023-03-01 00:00:00', '2023-04-01 22:00:00'],
  ['2023-02-01 00:00:00', '2023-02-28 22:00:00'],
  ['2023-03-13 00:00:00', '2023-03-19 22:00:00'],
  ['2023-03-06 00:00:00', '2023-03-12 22:00:00'],
  ['2023-02-27 00:00:00', '2023-03-05 22:00:00'],
  ['2023-03-01 00:00:00', '2023-03-01 22:00:00']
];

getDeltas(ranges)