在javascript中计算两个日历日期之间的差异

在javascript中计算两个日历日期之间的差异,javascript,html,jsp,Javascript,Html,Jsp,我需要计算两个日历日期之间的差异。我浏览了很多帖子,但是返回的值不正确。 这是我的密码:- function getTotalDays() { var date11 = document.getElementById("departure_date").value; var date22 = document.getElementById("arrival_date").value; var one_day=1000*60*60*24; var dat

我需要计算两个日历日期之间的差异。我浏览了很多帖子,但是返回的值不正确。 这是我的密码:-

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


}
如果差值为2天,则显示为59。
出什么问题了....

传递给日期对象的值可能是错误的。这样做可能更容易:

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

difference\u ms
输出为什么?您表示它位于5097600000ms的某个区域。您知道您可以这样做吗<代码>日期2-日期1?不需要
getTime()
。字符串
date11
date22
的格式是什么?可能是解析错误。嘿,对于回复@jimjimmy1995,1天的差异为2419200000。@elclanrs hi,即使我使用date2-date1,它显示1天30天。嘿,它工作得很好。我没有意识到这可能是问题所在。很多。