在javascript中,日期与当前日期(今天的日期)的距离不应超过1年
我有一个要求,我需要找到在文本字段中输入的日期不应早于当前日期1年。我已经为前一个要求编写了代码,但对于后一个要求,我不能这样做在javascript中,日期与当前日期(今天的日期)的距离不应超过1年,javascript,jquery,Javascript,Jquery,我有一个要求,我需要找到在文本字段中输入的日期不应早于当前日期1年。我已经为前一个要求编写了代码,但对于后一个要求,我不能这样做 function validateNetworthDate() { var netWorthFlag = $("#NetworthDate").val(); //netWorthFlag is coming( the date we entered) : "15/01/2015" var errorMsg='
function validateNetworthDate() {
var netWorthFlag = $("#NetworthDate").val();
//netWorthFlag is coming( the date we entered) : "15/01/2015"
var errorMsg='';
var currentTime = new Date();
var currentDay = currentTime.getDate();
var currentMonth = currentTime.getMonth()+1; //As January is 0!
var currentYear = currentTime.getFullYear();
if(currentDay<10) {
currentDay='0'+currentDay
}
if(currentMonth<10) {
currentMonth='0'+currentMonth
}
var enteredDay=netWorthFlag.substr(0,2);
var enteredMonth=netWorthFlag.substr(3,2);
var enteredYear=netWorthFlag.substr(6,4);
var enteredDateFormat=enteredYear+'/'+enteredMonth+'/'+enteredDay;
//Now entered date should be : "2015/01/15"
var enDate = new Date(enteredDateFormat);
var compDate = currentTime - enDate;
if (compDate<0)
{
errorMsg="Future Date not allowed.";
}
//Can you please suggest that what should I write here to do validation that Date should not be older than 1 year from current date (Today's date)
}
函数validateEnterthDate(){
var netWorthFlag=$(“#NetworthDate”).val();
//netWorthFlag即将到来(我们输入的日期):“2015年1月15日”
var errorMsg='';
var currentTime=新日期();
var currentDay=currentTime.getDate();
var currentMonth=currentTime.getMonth()+1;//因为一月是0!
var currentYear=currentTime.getFullYear();
如果(currentDay尝试此操作,在从输入中获取字符串后,您可以调用函数,如下所示:
函数dateDiff(entereddate){
一年下一年日期=新日期(新日期().setYear(新日期().getFullYear()+1))
entereddate=新日期(entereddate);
return(一年\u下一年\u date.getTime()-entereddate.getTime())/1000/60/60/24//diff in days
}
var netWorthFlag=$(“#NetworthDate”).val();
date_difference=dateDiff(netWorthFlag);/*您输入的日期*/
/*例如:dateDiff(“02/16/2015”);*/(检查日期格式(“02/16/2015”)
请在此处查看:
var yearAgoTime=new Date().setFullYear(currentTime.getFullYear()-1);
var compDate2=enDate-yearAgoTime;
if(compDate2你可以按照别人的建议自己检查diff,但是,我建议你使用moment.js
进行日期-时间处理。它非常方便。使用一个库,如if(moment().diff(moment(netWorthFlag,“DD/MM/yyyyy”),“years”)<1{…
hai(@danish),试试这个。
var yearAgoTime = new Date().setFullYear(currentTime.getFullYear()-1);
var compDate2 = enDate - yearAgoTime;
if (compDate2<0)
{
errorMsg="More than 1 year ago not allowed.";
}