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)