2015-12-03 175 views
-2

我想計算兩個日期之間的差異。目前,我在下面做代碼:JavaScript日期差異天

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:我有2個輸入型日期(date_debut和date_fin)

+0

那麼你有什麼問題? –

+0

我有Nan作爲輸出,並且沒有DateDiff計算 – omar

+0

在不支持輸入類型日期的瀏覽器中,$('#date_debut')。val()'返回的值是多少? – RobG

回答

1

試試這個

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

見多 http://momentjs.com/docs/#/displaying/difference/

+0

中選擇非常感謝,但那不是我正在尋找的! – omar

1

我認爲你想要天差異,你可以使用下面的代碼來獲得天差異。

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

當用戶選擇第一個日期打開其他日期日期選擇器來選擇剩餘字段,然後計算差異。

+0

我得到的差異=> NaN – omar

+0

我已經更新了我的答案,請現在檢查,我提供了評論,如果不工作,然後轉換爲日期e.x new Date(value); –

+0

現在,它的工作原理非常感謝。但仍然是日期格式,如何使這種格式dd/mm/yyyy? – omar