我在表单中有一个日期字段。我需要验证日期。需要从今天开始计算所选日期。
if(selecteddate > 7days from today's date)
return true;
else
return false;
我怎样才能做到这一点。?
答案 0 :(得分:1)
请尝试以下
var n=7; //number of days to add.
var today=new Date(); //Today's Date
var requiredDate=new Date(today.getFullYear(),today.getMonth(),today.getDate()+n)
if ((new Date(selecteddate ).getTime()) > (new Date(requiredDate).getTime()))
return true;
else
return false;
答案 1 :(得分:0)
请尝试以下操作:
var required_date = new Date();
required_date.setDate(required_date.getDate() + 7);
var selected_date = new Date(selected_date);
if (selected_date.getTime() > required_date.getTime()) {
return true;
else
return false;
答案 2 :(得分:0)
如果用户输入的格式为mm / dd / yyyy,m / d / yyyy或mm / d / yyyy,则需要进行一些重新格式化以获取Date对象。 moreThanSevenDays()
是一个执行此重新格式化的函数,然后检查它是否超过7天。
function moreThanSevenDays(selectedDateString) {
//add a "0" to front of single digit months or dates
var dateArr = selectedDateString.split("/");
for (var i=0; i<dateArr.length; i++) {
if(dateArr[i].length == 1) {
dateArr[i] = "0"+dateArr[i]
}
}
//get Date object from selected date
var selectedDate = new Date(dateArr[2]+"-"+dateArr[0]+"-"+dateArr[1]);
//get Date object for 7 days from now
var today = new Date();
var limit = new Date().setDate(today.getDate()+7)
//check which is greater
if(selectedDate.getTime() > limit) {
return true;
}
else {
return false;
}
}
moreThanSevenDays("5/2/2016") //returns true