How to calculate difference between two dates using Node.js?

Viewed 39521

I need to calculate the datetime difference using the node.js. I am using the dateformat package to get current datetime format. My code is below:

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

Here I have already the previous date and also the current datetime also. I need to calculate the difference between two dates in hour, minute and second separately.

4 Answers
function date_diff(d1, d2, get_item)
{
var date1 = new Date(d1)
var date2 = new Date(d2)
var Difference_In_Time = date1.getTime() - date2.getTime();
switch (get_item) {
    case 'month':
        return Math.round(Difference_In_Time / (1000 * 3600 * 24 * 30));
    case 'day':
        return Math.round(Difference_In_Time / (1000 * 3600 * 24));
    case 'hour':
        return Math.round(Difference_In_Time / (1000 * 3600));
    case 'minute':
        return Math.round(Difference_In_Time / (1000 * 60));
    case 'second':
        return Math.round(Difference_In_Time / 1000);    
    default:
        break;
}
}
var moment = require('moment');
diffDateAndTime(stratDate, endDate, startTime, endTime) {
 let nowDate = moment(Date.now()).format("YYYY-MM-DD"); 
 let nowTime = moment(Date.now()).format("YYYY-MM-DD HH:mm:ss");
 let dateOfStart = moment(stratDate).format("YYYY-MM-DD"); 
 let dateOfEnd =moment(endDate).format("YYYY-MM-DD");
 let timeOfStart = moment(Date.now()).format("YYYY-MM-DD") + " " + moment(startTime).format("HH:mm"); 
 let timeOfEnd = moment(Date.now()).format("YYYY-MM-DD") + " " + moment(endTime).format("HH:mm"); 
 let diffDate, diffTime;
 diffDate = (moment(dateOfStart).diff(nowDate) <= 0) && (moment(dateOfEnd).diff(nowDate) >= 0);
 if (moment(dateOfStart).diff(nowDate) === 0) {
   diffTime = (moment(timeOfStart).diff(nowTime) < 0) 
   diffDate = diffTime; 
 }
 if (moment(dateOfEnd).diff(nowDate) === 0) { 
   diffTime = moment(timeOfEnd).diff(nowTime) > 0 diffDate = diffTime;
 }
return diffDate; 
}
Related