JavaScript不工作时,日期差异大于90天
以下脚本在该场景中失败:开始日期09/12/2009结束日期10/15/2009。日期差不超过90天,但仍然失败。有人能帮忙吗JavaScript不工作时,日期差异大于90天,javascript,date,Javascript,Date,以下脚本在该场景中失败:开始日期09/12/2009结束日期10/15/2009。日期差不超过90天,但仍然失败。有人能帮忙吗 var startDate = new Date(document.getElementById('ctl00$MainContent$FromYearTxt').value); var endDate = new Date(document.getElementById('ctl00$MainContent$ToYearTxt').value);
var startDate = new Date(document.getElementById('ctl00$MainContent$FromYearTxt').value);
var endDate = new Date(document.getElementById('ctl00$MainContent$ToYearTxt').value);
var monthsDiff = endDate.getMonth() - startDate.getMonth();
var durationLimit = 0;
for (i = 1; i <= monthsDiff; i++) {
durationLimit += new Date(startDate.getFullYear(), startDate.getMonth() + i, 0).getDate();
}
var timeDiff = endDate.getTime() - startDate.getTime();
var daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24));
if (daysDiff > durationLimit) {
args.IsValid = false;
} else {
args.IsValid = true;
}
var startDate=新日期(document.getElementById('ctl00$MainContent$FromYearTxt').value);
var endDate=新日期(document.getElementById('ctl00$MainContent$ToYearTxt').value);
var monthsDiff=endDate.getMonth()-startDate.getMonth();
var durationLimit=0;
对于(i=1;i持续时间限制){
args.IsValid=false;
}否则{
args.IsValid=true;
}
如果您正在寻找3个月的验证,那么我认为更好的选择是
功能测试(){
var args={};//正在为测试创建
var startDate=新日期(document.getElementById('ctl00$MainContent$FromYearTxt').value);
var endDate=新日期(document.getElementById('ctl00$MainContent$ToYearTxt').value);
var maxDate=新日期(起始日期);
maxDate.setMonth(maxDate.getMonth()+3);
args.IsValid=endDate.getTime()你想在这里做什么-在你的例子中,daysDiff
是33,其中asdurationLimit
是30,isIsValid
是错误的场景我想验证的是,开始日期和结束日期之间的日期差不应该超过3个月,以及'03/13/2009'和'06/13/2009'之间的日期也应该是错误的work@Mar除了提供的代码之外,这应该是一个问题