我有两个日期选择器如下:
<input type="date" name ="datepicker_start" id="datepicker" value="" class="datepicker" size="20" />
和
<input type="date" name ="datepicker_end" id="datepicker2" value="" class="datepicker" size="20" />
我想计算天数差异,然后将天数差异与:
进行比较<input type="text" name="tleave" value="Var" readonly="true" size="10" />
其中Var是变量。
然后,如果差异大于“Var”值,我需要弹出错误消息。
当您可以设置休假的开始和结束日期时,基本上将其视为请假申请,但休假的持续时间不能超过休假余额;如果是,系统应该通知用户。
答案 0 :(得分:3)
如果您使用 moment.js ,则可以执行以下操作:
var start = $('#datepicker').val(),
end = $('#datepicker2').val();
var diffInDays = moment(start).diff(moment(end), 'days');
if(diffInDays > Var) {...}
我已更新 fiddle 。
<input type="text" name="datepicker_start" id="datepicker" value="" class="datepicker" size="20" />
<input type="text" name="datepicker_start2" id="datepicker2" value="" class="datepicker" size="20" />
<button>number of days</button>
$('#datepicker, #datepicker2').datepicker();
$('button').click(function () {
var start = $('#datepicker').val(),
end = $('#datepicker2').val();
var diffInDays = moment(end).diff(moment(start), 'days');
alert(diffInDays);
});
我已将输入类型更改为text
,因为type='date'
在小提琴中给出了意想不到的ui。
您必须使用jquery datepicker作为后备。
在我的小提琴中,我使用了jQuery
datepicker&amp; moment.js
5.5kb
库来处理日期。
答案 1 :(得分:1)
没有不需要的库
var start = new Date( $('#datepicker').val() ).getTime(),
end = new Date( $('#datepicker2').val() ).getTime();
//1000 * 60 * 60 * 24 = 1 day = 86400000
alert( ((end - start) / 86400000) + " days" );