Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать вычислить дистанцию между датами

Ника Понкраченко Ученик (233), на голосовании 1 год назад
у нас есть
arrList = [
["2023", "04", "15T14:32"]
]
И отталкиваясь от Date.now () , вычислить сколько прошло лет, месяцев, часов и минут?
Я знаю, что есть библиотека date-fns и там есть метод formatDistanceToNowStrict(), но я в душе не чаю как сделать так, чтобы он считал не только, год, а все вместе (год, месяц, день, часы минуты)...
Голосование за лучший ответ
i-qu.ru Профи (657) 1 год назад
 // Создаем объекты Date для текущего момента и для даты из массива 
const now = new Date();
const arrDate = new Date(arrList[0][0], arrList[0][1] - 1, arrList[0][2].substr(0, 2), arrList[0][2].substr(3, 2), arrList[0][2].substr(6, 2));

// Вычисляем разницу между датами в миллисекундах
const diff = now.getTime() - arrDate.getTime();

// Вычисляем количество лет, месяцев, дней, часов и минут между датами
const years = Math.floor(diff / (1000 * 60 * 60 * 24 * 365));
const months = Math.floor((diff % (1000 * 60 * 60 * 24 * 365)) / (1000 * 60 * 60 * 24 * 30));
const days = Math.floor((diff % (1000 * 60 * 60 * 24 * 30)) / (1000 * 60 * 60 * 24));
const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));

// Выводим результаты в консоль
console.log(`${years} г. ${months} мес. ${days} д. ${hours} ч. ${minutes} мин.`);
Dlazder Мудрец (16917) 1 год назад
Сохранить в переменную текущую дату и обновлять значение вычитая из той переменной текущую дату
Похожие вопросы