есть блоки которые выводятся в цикле и у которых есть дата активности например 121 день назад у конкретного итема. С бэкенда приходит дата этой последней активности которую я форматирую через JS в обычный формат "2022.04.13" , задача состоит в том нужно чтобы система высчитывала месяца и округляла в таком формате:
From 30 to 41d = 1m ago
From 41 to 51- 1.5m ago
From from 51 to 71 - 2m ago
ну и так далее +-10 дней для каждого месяца.
У меня написана функция но она всего лишь выводит сколько прошло месяцев без необходимых в условиях задачи диапазонов и плавающих чисел по типу 1.5 месяцев
const monthAgo = (endDate) => {
const date = new Date();
let monthInitial = date.getMonth();
const monthCalc = monthInitial++;
const month = monthCalc < 10 ? '0' + monthCalc : monthCalc;
const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
let startDate = date.getFullYear() + '-' + month + '-' + day;
startDate = new Date(startDate);
let dateEnd = endDate.slice(0, 10);
dateEnd = new Date(dateEnd);
let calcMonthAgo = Math.round((startDate.getTime()-dateEnd.getTime())/(1000 * 60 * 60 * 24*30) + 1);
return calcMonthAgo;
}
Запутался как сделать мне чтоб работало как написано в требованиях?