比较使用datepicker的两个日期

Man*_*tis 2 javascript jquery datepicker

我有一个有两个日期字段的表单.我试图从两个输入中选择日期并将它们与JQuery进行比较.我遇到的问题是它返回NaN.

我想可能是因为typeof日期返回字符串.

$('#id_date_completed').change(function() {
    date_received = $("#id_date_received").val(); 
    date_completed = $("#id_date_completed").val(); 

    var diff = date_completed - date_received;
    var days = diff / 1000 / 60 / 60 / 24;

    console.log(days);
}
Run Code Online (Sandbox Code Playgroud)

编辑

我的问题不同于在javascript中获取2个日期之间的差异?因为我正在使用bootstrap-datepicker库.Arun P Johny的回答很完美

Aru*_*hny 6

问题是.val()会返回一个字符串,所以无论date_receiveddate_completed是字符串值,因此减去他们将返回NaN.

相反,您可以使用bootstrap-datepickergetDate()方法

$("#id_date_received, #id_date_completed").datepicker();

$('button').click(function() {
  var date_received = $("#id_date_received").datepicker('getDate');
  var date_completed = $("#id_date_completed").datepicker('getDate');

  var diff = date_completed - date_received;
  var days = diff / 1000 / 60 / 60 / 24;
  $('span').text(days)
})
Run Code Online (Sandbox Code Playgroud)
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/js/bootstrap-datepicker.js"></script>

<input id="id_date_received" />
<input id="id_date_completed" />
<button>Test</button>
<span></span>
Run Code Online (Sandbox Code Playgroud)