从当前日期到3年前的Javascript日期验证
我是javascript新手,请求帮助。我的页面上有两个开始日期和结束日期。如果用户选择当前日期前3年作为开始日期,选择当前日期后3年作为结束日期,我想通过javascript抛出一个验证错误 我该怎么处理?我试了以下方法从当前日期到3年前的Javascript日期验证,javascript,validation,Javascript,Validation,我是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-a
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
}
好的,假设您已将开始日期存储为a1,将结束日期存储为b1,则可以使用日期对象的*.valueOf()进行比较(请参阅) 所以你可以做一些事情,大致如下:
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
}
var currentDate=新日期();
var current减号=currentDate.valueOf()-(3*365.25*24*60*60*1000)//或使用+94672800000
var currentPlus=current.Date.valueOf()+94672800000;
if(a1.valueOf()currentPlus){
//如果b1在当前日期/时间后超过3年,则应执行
}
我没有按原样测试所有这些,但应该对您有用,或者至少给您在您自己的代码/情况中使用的概念抛出异常的确切含义是什么?。您的逻辑是问题所在(diff no计算正确)还是您正在询问如何显示错误?。如果是第二个选项,请共享您的DOM结构(HTML)