Top.Mail.Ru
Ответы

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

у нас есть
arrList = [
["2023", "04", "15T14:32"]
]
И отталкиваясь от Date.now () , вычислить сколько прошло лет, месяцев, часов и минут?
Я знаю, что есть библиотека date-fns и там есть метод formatDistanceToNowStrict(), но я в душе не чаю как сделать так, чтобы он считал не только, год, а все вместе (год, месяц, день, часы минуты)...

По дате
По рейтингу
Аватар пользователя
Профи
1234567891011121314151617
 // Создаем объекты 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} мин.`); 
 
Аватар пользователя
Мудрец

Сохранить в переменную текущую дату и обновлять значение вычитая из той переменной текущую дату

Аватар пользователя
Знаток

калькулятором дядь