如何使用 Node.js 计算两个日期之间的差异?

sat*_*tya 7 datetime node.js

我需要datetime使用 node.js计算差异。我正在使用该dateformat包来获取当前的日期时间格式。我的代码如下:

var dateFormat = require('dateformat');
var prev_date=2017-08-09T19:00:58+0530;
var now = new Date();
var current_date=dateFormat(now, "isoDateTime");
Run Code Online (Sandbox Code Playgroud)

在这里,我已经有了以前的日期和当前的日期datetime。我需要分别计算两个日期的小时、分钟和秒之间的差异。

Chr*_*kes 6

let firstDate = new Date("7/13/2016"),
    secondDate = new Date("09/15/2017"),
    timeDifference = Math.abs(secondDate.getTime() - firstDate.getTime());

console.log(timeDifference);
alert(timeDifference)
Run Code Online (Sandbox Code Playgroud)

如果您想要两个日期之间的天数...

let differentDays = Math.ceil(timeDifference / (1000 * 3600 * 24));

console.log(differentDays);
alert(differentDays);
Run Code Online (Sandbox Code Playgroud)

您也可以使用 Moment.js https://momentjs.com/docs/

console.log(moment.utc(moment(firstDate,"DD/MM/YYYY HH:mm:ss").diff(moment(secondDate,"DD/MM/YYYY HH:mm:ss"))).format("HH:mm:ss"))
Run Code Online (Sandbox Code Playgroud)


小智 5

如果要计算两个日期之间的日差,则不需要任何包。您可以使用简单的 JavaScript。

var date1 = new Date("08/09/2017");
var date2 = new Date("08/10/2017");
var diffDays = parseInt((date2 - date1) / (1000 * 60 * 60 * 24)); //gives day difference 
//one_day means 1000*60*60*24
//one_hour means 1000*60*60
//one_minute means 1000*60
//one_second means 1000
console.log(diffDays)
Run Code Online (Sandbox Code Playgroud)