我有以下代码来确保如果用户选择与会议的签出日期相同的签入日期,则"total_days" = 1如果日期差异为> 0 - 那么它应该为每个日期再更新一天。 即"会议日期 = 13.06.12" "会议日期输出 = 13.06.12" - 总天数 = 1 - 这是正确的。 但是,如果"会议日期 = 13.06.12"和"会议日期 = 14.06.12",则"total_days"需要为 2,而不是 1。 我做错了什么?我尝试了以下方法:
<td>Conference Date In</td>
<td><input type="text" name="conference_date_in" id="conference_date_in" class="datepicker" /></td>
<td> </td>
<td>Conference Date Out</td>
<td><input type="text" name="conference_date_out" id="conference_date_out" class="datepicker" /></td>
</tr>
<td>Total Days</td>
<td><input type="text" name="total_days" id="total_days" /></td>
</tr>
<script type="text/javascript">
$(function() {
$(".datepicker").datepicker({ minDate: -0, maxDate: "+100M +10D",dateFormat: 'dd-mm-yy'})
({
changeMonth: true,
changeYear: true,
});
});
var enquiry_date = $.datepicker.formatDate('dd-mm-yy', new Date());
document.getElementById('enquiry_date').value = enquiry_date;
var calcDate = function() {
var start = $('#conference_date_in').datepicker('getDate');
var end = $('#conference_date_out').datepicker('getDate');
var days = (end - start) / 1000 / 60 / 60 / 24;
if(days==0) {days=1
}
if( days >= 0 ) {
document.getElementById('total_days').value = days;
}
}
$('#conference_date_out').change(calcDate);
$('#conference_date_in').change(calcDate);
发布这个屁股答案以关闭问题。
你不能在(end - start) / 1000 / 60 / 60 / 24;
的结果上加 1 吗?你必须如果不是如果。否则,这应该可以解决您的问题。