Привет. Есть вопрос. Мне с сервера прилетает дата (100% в прошлом). Мне нужно указать сколько минут (часов/дней/месяцев/годов) назад это было. Например, 2021-02-24T12:08:22.354Z => 6 часов назад (на момент написание вопроса)
Есть такой код
const formatDate = (strDate)=> {
const date = new Date(strDate);
const now = new Date();
const dateDifference = (+now) - (+date);
// less than an hour ago
if (dateDifference < 60 * 60 * 1000) {
return `${Math.floor(dateDifference / 60 / 1000)} минут назад`;
}
// less than a day
if (dateDifference < 24 * 60 * 60 * 1000) {
return `${Math.floor(dateDifference / 60 / 60 / 1000)} часов назад`;
}
// less than a month
// less than a year
// more than a year
return '(подсчитать)';
};
И вроде все хорошо, но нужно еще учесть множество падежей (1 минута, 2 минуты, 5 минут, 51 минута, 11 минут + часы + дни и т.д.). Есть ли какие-то готовые решение, потому что не очень хочется делать это вручную.
P.S. да, я знаю, что код выше можно написать короче, это, чтобы было более наглядно и понятно