-2

I want to calculate the difference between two dates. Currently, I am doing the code bellow:

function calculDiff(){
    var v1= $('#date_debut').val();
    var v2=$('#date_fin').val();
    var dayDiff=((v2-v1) / (24*60*60*1000));
    var dayDiff2=Math.floor(dayDiff);
    console.log(v1 + ' '+ v2);
    console.log(dayDiff + ' '+ dayDiff2);
}
$(document).ready(function(){
    $('#date_debut').datepicker().bind('change paste keyup',function(){
        calculDiff();
        return false;
    });
    //
    $('#date_fin').datepicker().bind('change paste keyup',function(){
        calculDiff();
        return false;
    });
});

PS:I have 2 input type date (date_debut and date_fin)

RobG
  • 142,382
  • 31
  • 172
  • 209
omar
  • 11
  • 3

2 Answers2

1

Try this

var now  = "04/09/2013 15:00:00";
var then = "04/09/2013 14:20:30";
moment.utc(moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss"))).format("HH:mm:ss")

See more in http://momentjs.com/docs/#/displaying/difference/

Krishnaraj
  • 126
  • 1
  • 8
0

I think you want day difference, you can user below code to get days difference.

var start_date = new Date($('#date_debut').val());
var end_date = new Date($('#date_fin').val()); 

var diff = new Date(end_date - start_date);
var days = diff/1000/60/60/24;
console.log("diff=>"+days);

When user selected first date open other date datepicker to select remaining field, and then calculate difference.

Mehul Dudhat
  • 421
  • 1
  • 7
  • 19