我想在2个日期之间获得Days
的数量,我在网上搜索了这个并找到了相当不错的解决方案。但是当我应用它时,它给了我NaN
。我无法理解这段代码中的错误,请检查并指导我在这里做错了什么,
HTML CODE
<input id="date_from" class="form-control input-sm" type="text" name="date_from" required>
<input id="date_to" class="form-control input-sm" type="text" name="date_to" required>
JS CODE
function parseDate(str) {
var mdy = str.split('/')
return new Date(mdy[2], mdy[0]-1, mdy[1]);
}
function daydiff(first, second) {
return Math.round((second-first)/(1000*60*60*24));
}
$(document).ready(function(){
$("#date_to").change(function(){
alert(daydiff(parseDate($("#date_from").val())- parseDate($("#date_to").val())));
alert($("#date_from").val());
});
});
输出
南
答案 0 :(得分:1)
您将日期作为NaN的字符串减去,请尝试:
function parseDate(str) {
var mdy = str.split('/')
return new Date(mdy[2], mdy[0]-1, mdy[1]);
}
function daydiff(first, second) {
return Math.round((parseDate(second).valueOf()-parseDate(first).valueOf())/(1000*60*60*24));
}
$(document).ready(function(){
$("#date_to").change(function(){
alert(daydiff($("#date_from").val(), $("#date_to").val()));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="date_from">From:</label>
<input type="text" id="date_from"/>
<br/>
<label for="date_to">To:</label>
<input type="text" id="date_to"/>