2013-10-16 188 views
0

我是JavaScript新手,并要求help.I在我的页面上有两个日期开始日期和结束日期。如果用户在开始日期的当前日期前3年和结束日期的当前日期后3年选择3年,我想通过javascript抛出验证错误。Javascript日期从当前日期到3年之前的验证

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

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 

} 
+0

什么你的意思是在抛出异常吗? 你的逻辑是否是问题(差异没有正确计算)还是你问如何显示错误? 如果是第二个选项,请分享您的DOM结构(HTML) –

回答

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 
} 

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

相关问题