Javascript 日期-天数间隔不应超过20天
我有fromdate和todate,如果用户输入fromdate和todate,它们之间的间隔不应超过20天。i、 e如果用户输入的日期从2018年8月30日到2018年9月26日,则间隔超过20天,因此我想使用jquery显示警报。 下面是我的代码Javascript 日期-天数间隔不应超过20天,javascript,jquery,Javascript,Jquery,我有fromdate和todate,如果用户输入fromdate和todate,它们之间的间隔不应超过20天。i、 e如果用户输入的日期从2018年8月30日到2018年9月26日,则间隔超过20天,因此我想使用jquery显示警报。 下面是我的代码 var today = new Date(new Date().getFullYear(), new Date().getMonth(),new Date().getDate()); $('#startdate').datepicker({
var today = new Date(new Date().getFullYear(), new Date().getMonth(),new Date().getDate());
$('#startdate').datepicker({
uiLibrary : 'bootstrap4',
iconsLibrary : 'fontawesome',
format : 'dd/mm/yyyy',
maxDate : function() {
return $('#enddate').val();
}
});
$('#enddate').datepicker({
uiLibrary : 'bootstrap4',
iconsLibrary : 'fontawesome',
format : 'dd/mm/yyyy',
minDate : function() {
return $('#startdate').val();
}
});
在两个输入中处理onchanged事件,并生成一个函数“checkDates()”,该函数将比较两个日期,如果差值超过20天,则生成警报()。请参见下面的示例代码
<input id="startdate" onchanged="checkDate()"/>
<input id="enddate" onchanged="checkDate()"/>
<script>
function checkDate(){
var start = $('#startdate').val();
var end = $('#enddate').val();
//convert strings to date for comparing
var startDate = new Date(start);
var endDate = new Date(end);
// Calculate the day diffrence
var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
var diffDays = Math.abs((endDate.getTime() - startDate.getTime()) / (oneDay));
if(diffDays > 20){
alert("Days are more then twenty");
}
}
</script>
函数checkDate(){
var start=$('#startdate').val();
var end=$('#enddate').val();
//将字符串转换为日期以进行比较
var startDate=新日期(开始);
var endDate=新日期(结束);
//计算日差
var oneDay=24*60*60*1000;//小时*分钟*秒*毫秒
var diffDays=Math.abs((endDate.getTime()-startDate.getTime())/(oneDay));
如果(天数>20天){
警报(“天数超过二十天”);
}
}
请让我知道它是否有效。试试这个
<input id="startDate" onchanged="myFunction()"/>
<input id="endDate" onchanged="myFunction()"/>
<script>
function myFunction(){
var startDate = new Date($('#startDate').val());
var endDate = new Date($('#endDate').val());
var timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
if(diffDays > 20){
alert("Days are more then twenty");
}
}
</script>
函数myFunction(){
var startDate=新日期($(“#startDate”).val();
var endDate=新日期($('#endDate').val());
var timeDiff=Math.abs(endDate.getTime()-startDate.getTime());
var diffDays=数学单元(timeDiff/(1000*3600*24));
如果(天数>20天){
警报(“天数超过二十天”);
}
}