以小时为单位的日期差异 - Angular 2

时间:2017-03-06 09:46:54

标签: date angular typescript

如何在angular2中的两个日期之间获得时差?我不想使用像moment.js这样的外部库。

举例来说: incidentTime ='2017-03-05 11:26:16 AM' creationTime ='2017-03-06 12:26:16 AM'< / em>的

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

应返回25小时,但返回NaN

3 个答案:

答案 0 :(得分:8)

这应该做的工作:

let date1: string = params.data.incidentTime;
let date2: string = params.data.creationTime;

let diffInMs: number = Date.parse(date2) - Date.parse(date1);
let diffInHours: number = diffInMs / 1000 / 60 / 60;

console.log(diffInHours);

使用Math.floor向下舍入结果,或Math.ceil将其四舍五入

答案 1 :(得分:1)

将日期类型参数解析为javascript的Date类型。

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);

答案 2 :(得分:-1)

试试这个: -

frange
  

但它返回NaN

这是因为您在日期之前使用price:{!frange l=0.8 u=1.3}div(price/$matched_element_price)符号将日期转换为数字格式,因此返回NAN(不是数字)