0

我是 javascript 新手并请求帮助。我的页面上有两个日期开始日期和结束日期。如果用户选择当前日期前 3 年作为开始日期,选择当前日期后 3 年作为结束日期,我想通过 javascript 引发验证错误。

我该如何处理?我尝试了以下,

var a1 = Date.parse(startDate);
var b1 = Date.parse(endDate);
var mydate=new Date();    
var c1 = Date.parse(mydate);    
var diff1 = c1-a1;
var daysCal1 = diff1 / 1000 / 60 / 60 / 24;
var days1 = Math.ceil(daysCal1);
if (days1 > 1095) {         
      //throw the exception

}   
4

1 回答 1

0

好吧,假设您将开始日期存储为 a1 并将结束日期存储为 b1,您可以使用 *.valueOf() 作为日期对象进行比较(请参阅http://www.w3schools.com/jsref/jsref_valueof_date.asp )

所以你可以按照以下方式做一些事情:

var currentDate = new Date();
var currentMinus = currentDate.valueOf()-(3*365.25*24*60*60*1000); //or use +94672800000 
var currentPlus = current.Date.valueOf()+94672800000;
if (a1.valueOf() < currentMinus) {
    //should execute if a1 is more than 3 years prior to current date/time
}
if (b1.valueOf() > currentPlus) {
    //should execute if b1 is more than 3 years after current date/time
}

我没有按原样测试所有这些,但应该为您工作,或者至少为您提供在您自己的代码/情况下使用的概念

于 2013-10-16T18:10:41.153 回答