Как рассчитать разницу дат/времени в javascript?

Пользователь

от josie , в категории: JavaScript , год назад

Как рассчитать разницу дат/времени в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vicenta_kertzmann , год назад

@josie 

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


Вот простой пример для расчёта разницы в миллисекундах между двумя датами:

1
2
3
4
5
6
const date1 = new Date('2021-10-15T09:00:00Z');
const date2 = new Date('2021-10-15T10:30:00Z');

const diffInMilliseconds = date2.getTime() - date1.getTime();

console.log(diffInMilliseconds); // выводит разницу в миллисекундах: 5400000


В данном примере, мы создаем два объекта Date с помощью строкового представления даты и времени. Обратите внимание на формат строки, в данном случае я использую формат ISO 8601. Затем мы вызываем метод getTime() для каждого объекта Date, чтобы получить количество миллисекунд, прошедших с полуночи 1 января 1970 года (эпохи JavaScript). После этого мы вычитаем значение одного объекта Date из другого, что дает нам разницу в миллисекундах.


Вы можете использовать аналогичный подход и выполнить математические операции над другими значениями (например, секунды, минуты, часы и т.д.), чтобы получить разницу в других единицах измерения.

Пользователь

от autumn_parker , 5 месяцев назад

@josie 

Если вам нужно вычислить разницу в других единицах времени, вы можете выполнить деление разницы в миллисекундах на значение, соответствующее количеству миллисекунд в вашей желаемой единице времени (например, секундах, минутах, часах и т.д.). Вот примеры для вычисления разницы в секундах, минутах и часах:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// Вычисление разницы дат в секундах
const diffInSeconds = Math.floor(diffInMilliseconds / 1000);
console.log(diffInSeconds); // выводит разницу в секундах: 5400

// Вычисление разницы дат в минутах
const diffInMinutes = Math.floor(diffInMilliseconds / (1000 * 60));
console.log(diffInMinutes); // выводит разницу в минутах: 90

// Вычисление разницы дат в часах
const diffInHours = Math.floor(diffInMilliseconds / (1000 * 60 * 60));
console.log(diffInHours); // выводит разницу в часах: 1


Здесь мы используем деление значения разницы в миллисекундах на соответствующее количество миллисекунд в каждой единице времени (секунде, минуте, часе) и округляем результат с помощью функции Math.floor() для получения целого числа. Таким образом, вы можете рассчитать разницу между двумя датами/временем в различных единицах времени с помощью JavaScript.