Нахождение разницы между 2 раза в минутах

Я пытаюсь создать вспомогательную функцию, которая находит разницу между двумя временами в минутах. Но я застрял в поиске разницы между значениями "toLocaleString()". Вот что у меня есть до сих пор:

  format_time: (date) => {
    var futureTime = new Date(date.getTime() + 15 * 60000).toLocaleString();
    var currentTime = date.toLocaleString();
    return // futureTime - CurrentTime;
  },  
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
2 983
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

если дата является строкой, преобразовать строку в отметку времени

new Date("2020/12/24 11:47:03").getTime();

рассчитать с отметкой времени.

return futureTimestamp - currentTimestamp

function diffMinutes(x, y) {
  return (y.getTime() - x.getTime()) / 1000 / 60;
}

var a = new Date();
var b = new Date();
a.setHours(1);
b.setHours(2);

let minutes = diffMinutes(a, b);
console.info('Diff', minutes + 'minutes');
Ответ принят как подходящий

Более просто с getTime(), который представляет время эпохи в миллисекундах. Таким образом, в этом контексте минуты будут:

1 минута = 60 секунд = 60 0000 миллисекунд

ваш код может быть:

function diffMinutes(date1, date2) {
    const d1 = new Date(date1).getTime();
    const d2 = new Date(date2).getTime();
    return Math.round((d2 - d1) / 60000); // Can use Math.floor or Math.ceil depends up to you
}

Код обрабатывает отрицательные значения, если второй раз меньше первого, поэтому, если вы хотите, чтобы всегда были положительные значения, вы можете сделать:

    return Math.abs(Math.round((d2 - d1) / 60000));

Примеры:

diffMinutes("01-01-2012 11:11:11", "01-01-2012 11:15:11") // 4
diffMinutes(new Date("01-01-2012 11:11:11"), "01-01-2012 11:00:11") // -11
diffMinutes(12323, 123213) // 2

Если вы знаете, что всегда вызываете «format_date», параметры будут оба объекта Date, вы можете уменьшить свою функцию до:

function diffMinutes(date1, date2) {
    return Math.round((date2.getTime() - date1.getTime()) / 60000); // Can use Math.floor or Math.ceil depends up to you
}

отличная работа, именно то, что я ищу

Pawan Deore 21.12.2022 03:53

Другие вопросы по теме