-1

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

    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。怎么了..??

4

1 回答 1

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;
}
于 2013-04-04T10:51:42.507 回答