2013-04-04 250 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

相关问题