Javascript часы впереди или позади сейчас - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь рассчитать количество часов между настоящим моментом и временем в будущем или в прошлом.Если дата / время в будущем, то это будет положительное число, если в прошлом отрицательное число.

Я пытался

    var hours_away = Math.abs(flight_date.getTime() - now.getTime()) / 3600000;
    hours_away = parseInt(hours_away);

Однако, если переменная flight_date имеет значение до илипосле now.getTime () число всегда возвращается положительным.

Может кто-нибудь помочь с примером различий в датах, который дает правильный положительный или отрицательный результат?

Ответы [ 3 ]

0 голосов
/ 28 октября 2018

Вы используете math.abs, который возвращает абсолютное число (положительное)

0 голосов
/ 28 октября 2018

Чтобы достичь этого, вам нужно получить свои часы полета в допустимом типе строки, а затем создать из этой строки действительный объект даты, после чего вы можете вычесть время полета из текущего времени, если оно уже запланировано, выполучит положительное число.

Проверьте функцию ниже:

// try changing the flight_time to see if this works or not

var flight_time  = '2018-10-28T20:20:30Z'; // assuming this is the flight time;
// now make a valid date format out of the given flight time;
var flight_hour = new Date(flight_time);
console.log(flight_hour)
var current_hour = new Date();
console.log(current_hour);

// now do the subtraction;
function calculate_hours() {
  var difference = ((flight_hour - current_hour) / 3600000).toFixed(2);
  document.getElementById('now').innerHTML = flight_hour.getHours();
  document.getElementById('difference').innerHTML = difference;
  console.log(difference) ;
}

calculate_hours();
<p> Now: <span id='now'></span></p>
<p> Difference: <span id='difference'></span></p>
0 голосов
/ 28 октября 2018

Math.abs означает абсолютное значение.

Абсолютное значение всегда возвращает положительное число.

x = |-5| // x is actually 5.

Вы можете прочитать из MDN

Функция Math.abs () возвращает абсолютное значение числа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...