2013-04-04 308 views
-1

我需要計算兩個日曆日期之間的差異。我已經通過各種職位,但返回的價值是不正確的。 繼承人我的代碼: -計算javascript中兩個日曆日期之間的差異

function getTotalDays() 
{ 
    var date11 = document.getElementById("departure_date").value; 
    var date22 = document.getElementById("arrival_date").value; 

    var one_day=1000*60*60*24; 

    var date1 = new Date(date11); 
    var date2 = new Date(date22); 

     // Convert both dates to milliseconds 
     var date1_ms = date1.getTime(); 
     var date2_ms = date2.getTime(); 

     // Calculate the difference in milliseconds 
     var difference_ms = date2_ms - date1_ms; 

     // Convert back to days and return 
     var diffDays = Math.round(difference_ms/one_day); 
    alert(diffDays); 


} 

suppse的區別是2天的表現爲59 怎麼了??

+0

什麼'difference_ms'輸出?你表示它在5,097,600,000ms範圍內的某個地方。 – 2013-04-04 10:34:41

+0

你知道你可以這樣做嗎? 'date2 - date1'?不需要'getTime()'。 – elclanrs 2013-04-04 10:35:23

+0

字符串'date11'和'date22'是什麼格式?也許他們是以錯誤的方式解析的。 – 2013-04-04 10:38:41

回答

0

傳遞給日期對象的值可能是錯誤的。它可能更容易爲你做這樣的事情:

var date1 = getDate(date11); 
var date2 = getDate(date22); 

與GETDATE之中:

function getDate(date) { 
    //date format dd/mm/yyyy 
    var dateArr = date.split('/'); 
    var date = new Date(dateArr[2], dateArr[1], dateArr[0]); 
    return date; 
} 
+0

嘿它工作完美。我沒有意識到可能是probs。 thnx很多。 – rams 2013-04-04 11:15:02

相關問題