计算两个日期之间的差值时的南值

时间:2017-11-02 11:48:12

标签: jquery datepicker

我想计算两个日期之间的差异,但我得到的结果是NaN,这是我的代码:

 var date1 = $("#dateb").val();
 var date2 = $("#datea").val();
 var date_difference = parseInt((date1-date2)/(24*3600*1000));
 alert(date_difference);  // NaN

请注意我的datepicker我使用的格式为:

$('.datePicker').datepicker({
   format: 'yyyy/mm/dd'
{);

4 个答案:

答案 0 :(得分:0)

我没看到两个输入的val是怎样的,期望在这场比赛MM-dd-yyy中“,这是aproximation将是:

var date1 = +new Date(2017,1,9).getTime();
var date2 = +new Date('09-10-2017').getTime();
var date_difference=(date1-date2)/(24*3600*1000);
console.log(date1, date2, new Date(date_difference));

期待它可以帮助你

答案 1 :(得分:0)

以下是来自another SO question的工作示例的代码段。只需运行下面的代码段,看看它如何返回两个日期之间差异的天数:

var date1 = new Date("7/13/2017");
var date2 = new Date("12/15/2017");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
alert(diffDays);

答案 2 :(得分:0)

您的问题是,必须在减去日期之前将日期转换为Date个对象:

var date1 = new Date($("#dateb").val());
var date2 = new Date($("#datea").val());
var date_difference = Math.ceil((date2 - date1) / (1000 * 60 * 60 * 24));

答案 3 :(得分:-1)

试试这个,

首先,转换为日期

function parseDate(input) {
    // Transform date from text to date
    var parts = input.match(/(\d+)/g);
    // new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]])
    return new Date(parts[0], parts[1] - 1, parts[2]); // months are 0-based
}
var date1 = parseDate($("#dateb").val());
var date2 = parseDate($("#datea").val());
var diff = date1 - date2 ; 
var date_difference=parseInt(diff /(24*3600*1000));
alert(date_difference);