Рассчитать разницу в днях между двумя временами - PullRequest
0 голосов
/ 04 октября 2018

У меня есть два формата даты, и мне нужно рассчитать разницу в часах между ними.

Первая дата - текущая дата.Вторая дата имеет следующий формат:

var depDate = 25092018  //ddmmyyyy
var depTime = 08:35 //hh:mm

новая функция даты не принимает дату в формате ddmmyyyy.Как можно ввести depDate в новой функции Date

Я хочу проверить разницу между текущей датой и depDate.

Кто-нибудь может помочь?

Ответы [ 2 ]

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

Если вы используете момент модуль, это будет очень легко.Код ниже:

let moment = require('moment');
let depDate = "27092018"  //ddmmyyyy
let depTime = "08:35" //hh:mm

let date = moment(depDate, "DDMMYYYY").add(moment(depTime,"HH:mm"))
let difference = moment.duration(moment().diff(date)).asHours();
console.log(difference); // This would be the difference in hours.
0 голосов
/ 04 октября 2018

Ваша дата в переменной depDate имеет неверный формат.Вам необходимо проверить его формат с помощью регулярных выражений в .replace().Затем используйте Date.prototype.getTime() для получения числового значения даты.

var depDate = "25092018";  
var depTime = "08:35";
var dateStr = depDate.replace(/(\d{2})(\d{2})(\d{4})/, "$3-$2-$1")+"T"+depTime;
// dateStr => 2018-09-25T08:35

var timeDiff = Math.abs(new Date(dateStr).getTime() - new Date().getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
// 1000 => to converting millisecond to second
// 3600 => to converting second to hour
// 24 =>   to converting hour to day                    
console.log(diffDays);
...