Как получить разность из значений input типа datetime-local в днях и часах?
У меня есть две переменные со значениями "2022-03-15T10:39" и "2022-03-12T10:43" нужно получить разность их значений в днях и часах, подскажите как ?
Ответы (1 шт):
Автор решения: Yakov Botov
→ Ссылка
const date1 = dayjs("2022-03-15T10:39");
const date2 = dayjs("2022-03-12T10:43");
const getHumanizedValue = (diffInHours) => {
const HOURS_IN_DAY = 24;
const days = Math.floor(diffInHours / HOURS_IN_DAY);
const hours = diffInHours % HOURS_IN_DAY;
return `${days} days and ${hours} hours`;
};
console.log(getHumanizedValue(date1.diff(date2, "hour")));
<script src="https://unpkg.com/[email protected]/dayjs.min.js"></script>
Предлагаю воспользоваться библиотекой dayjs. В dayjs можно легко высчитать разницу между датами с помощью метода diff (ссылка на нужный раздел библиотеки: https://day.js.org/docs/en/display/difference)
Так как для вопроса есть метка react, я создал песочницу на react, в которой можно посмотреть на решение изнутри: https://codesandbox.io/s/headless-frost-h87g48?file=/src/App.js