Как посчитать разницу между двумя датами в секундах, минутах, часах и т.д.?

Для вычисления разницы между двумя датами в JavaScript можно использовать объект Date, который предоставляет функциональность для работы с датами и временем.

Для начала необходимо создать два объекта Date, представляющих две даты, между которыми нужно вычислить разницу. Вы можете создать объект Date путем передачи год, месяц, день, час, минуту, секунду и миллисекунду конструктору Date. Например:

let date1 = new Date(2021, 0, 1, 12, 0, 0); // 1 января 2021 года, 12:00:00
let date2 = new Date(); // использовать текущую дату и время

Если вы хотите использовать текущую дату и время для одной из дат, то просто вызовите конструктор Date без аргументов.

После того, как вы создали объекты Date, вы можете вычислить разницу между ними с помощью математических операций. В JavaScript даты представлены в виде количества миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC (так называемая эпоха Unix).

Вы можете получить количество миллисекунд между двумя датами, вычтя одну дату из другой:

let differenceInMillisecs = date2 - date1;

Затем вы можете преобразовать это количество миллисекунд в разницу в секундах, минутах, часах и т.д., используя деление и остаток от деления:

let differenceInSeconds = Math.floor(differenceInMillisecs / 1000);
let differenceInMinutes = Math.floor(differenceInMillisecs / (1000 * 60));
let differenceInHours = Math.floor(differenceInMillisecs / (1000 * 60 * 60));
let differenceInDays = Math.floor(differenceInMillisecs / (1000 * 60 * 60 * 24));
// и так далее...

Здесь мы делим количество миллисекунд на количество миллисекунд в одной секунде, одной минуте, одном часе и одном дне, соответственно.

Используя эти вычисления, вы можете получить разницу между двумя датами в выбранной вами единице измерения времени.