Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 计算两个日期之间的差值时的Nan值_Jquery_Datepicker - Fatal编程技术网

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

Jquery 计算两个日期之间的差值时的Nan值,jquery,datepicker,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({

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

 var date1 = $("#dateb").val();
 var date2 = $("#datea").val();
 var date_difference = parseInt((date1-date2)/(24*3600*1000));
 alert(date_difference);  // NaN
请注意,在我的日期选择器中,我使用以下格式:

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

我没有看到两个输入的val是如何的,期望在这个匹配MM dd yyy“中出现,这是一个of将是:

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));
希望它能帮助你

试试这个

首先,转换成日期

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

下面是一个代码段,其中有一个来自的工作示例。只需运行下面的代码段,即可查看它如何返回两个日期之间差异的天数计数:

var date1=新日期(“2017年7月13日”);
var日期2=新日期(“2017年12月15日”);
var timeDiff=Math.abs(date2.getTime()-date1.getTime());
var diffDays=数学单元(timeDiff/(1000*3600*24));

警报(diffDays);
您的问题是,在减去日期之前,必须将日期转换为
Date
对象:

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

您需要将文本转换为实际日期()object first…Moment.js是一个很好的库,可以轻松地处理日期。首先搜索可能重复的感谢Steve和Alvaro Touzon代码不起作用,我的第一个代码采用MM dd yyy格式,但我希望这种格式yyyy/MM/ddyo像@Sanyami Vaidya一样,可以根据需要拆分值,js需要ANKS Alvaro使用so为我工作Sanyami Vaidya的灵丹妙药谢谢你