web-dev-qa-db-fra.com

Différence de date en heures - Angular 2

Comment puis-je obtenir la différence d'heures entre deux dates en angular2? Je ne veux pas utiliser de bibliothèques externes comme moment.js.

Ayant, par exemple: incidentTime = '2017-03-05 11:26:16 AM' et creationTime = '2017-03-06 12:26:16 AM'

let time = +params.data.incidentTime - +params.data.creationTime;  
console.log("time: " + time);

Il doit renvoyer 25 heures, mais il renvoie NaN.

6
user630209

Cela devrait faire le travail:

const date1 = params.data.incidentTime;
const date2 = params.data.creationTime;

const diffInMs = Date.parse(date2) - Date.parse(date1);
const diffInHours = diffInMs / 1000 / 60 / 60;

console.log(diffInHours);

Utilisation Math.floor pour arrondir le résultat, ou Math.ceil pour arrondir

9
Seid Mehmedovic

analyser les paramètres de type date au type Date de javascript.

let date1 = new Date(params.data.incidentTime).getTime();
let date2 = new Date(params.data.creationTime).getTime();
let time = date1 - date2;  //msec
let hoursDiff = time / (3600 * 1000);
1
Babar Bilal