Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript不工作时,日期差异大于90天_Javascript_Date - Fatal编程技术网

JavaScript不工作时,日期差异大于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);

以下脚本在该场景中失败:开始日期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 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,其中as
durationLimit
是30,is
IsValid
是错误的场景我想验证的是,开始日期和结束日期之间的日期差不应该超过3个月,以及'03/13/2009'和'06/13/2009'之间的日期也应该是错误的work@Mar除了提供的代码之外,这应该是一个问题