Как узнать сколько времени прошло с определенного момента?

Как сформулировать относительное время ("несколько часов назад", "несколько месяцев назад" и т.д.) от указанной даты и времени (<blockquote>2024-07-07T17:09:41Z</blockquote>), учитывая различные варианты (часы, минуты, месяцы), описанные в примерах?
  • 7 июля 2024 г. 18:22
Ответы на вопрос 2
Для того чтобы узнать сколько времени прошло с определенного момента, необходимо вычесть указанный момент времени из текущего момента времени. Это можно сделать с помощью программирования или специальных онлайн калькуляторов времени.

Относительное время ("несколько часов назад", "несколько месяцев назад" и т.д.) от указанной даты и времени <blockquote>2024-07-07T17:09:41Z</blockquote> можно сформулировать следующим образом:
- Если прошло менее часа, то можно сказать "несколько минут назад".
- Если прошло менее суток, то можно сказать "несколько часов назад".
- Если прошло менее недели, то можно сказать "несколько дней назад".
- Если прошло менее месяца, то можно сказать "несколько недель назад".
- Если прошло менее года, то можно сказать "несколько месяцев назад".
- Если прошло более года, то можно сказать "больше года назад".

Это лишь общие примеры формулировок относительного времени, их можно изменять в зависимости от конкретной ситуации.
Например, можно воспользоваться вариантом отсюда : 
function timeAgo(input) {
    const date = (input instanceof Date) ? input : new Date(input);
    const formatter = new Intl.RelativeTimeFormat('ru');
    const ranges = {
        years: 3600 * 24 * 365,
        months: 3600 * 24 * 30,
        weeks: 3600 * 24 * 7,
        days: 3600 * 24,
        hours: 3600,
        minutes: 60,
        seconds: 1
    };
    const secondsElapsed = (date.getTime() - Date.now()) / 1000;

    for (let key in ranges) {
        if (ranges[key] < Math.abs(secondsElapsed)) {
            const delta = secondsElapsed / ranges[key];
            return formatter.format(Math.round(delta), key);
        }
    }
}


Либо можно использовать библиотеки: метод from из Day.js, javascript-time-ago или timeago.js .
Похожие вопросы