Javascript 如何比较从JSP捕获的java脚本中的两个日期?
**我无法使用getTime()转换用户选择的日期。我是java脚本的初学者。我从用户那里得到日期作为开始时间和结束时间,应该能够解析它们并得到它们之间的差异。是否有办法获取整个日期并进行解析,或者我们需要拆分日期?**Javascript 如何比较从JSP捕获的java脚本中的两个日期?,javascript,Javascript,**我无法使用getTime()转换用户选择的日期。我是java脚本的初学者。我从用户那里得到日期作为开始时间和结束时间,应该能够解析它们并得到它们之间的差异。是否有办法获取整个日期并进行解析,或者我们需要拆分日期?** <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page contentTy
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Test</title>
<script type="text/javascript" >
function check_date(){
var start_date=document.getElementsByName("Start_Date");
var End_date=document.getElementsByName("End_Date");
var startdate_2=start_date.item(0).value;
alert(startdate_2.getTime());*crashes here*
var diffDays = (End_date - startdate_2)/(24*3600*1000);
if ( diffDays > 14 )
{alert("You entrered invalid date. Please repeat again");
return false;
}
else
{alert ("Will Proceed ");
return true;}
}
</script>
</head>
<body>
<form ENCTYPE="multipart/form-data" ACTION="servlet1" METHOD=GET>
<center>
<fieldset>
<label for="Start_Date">Start_Date</label>
<input type="date" id="Start_Date" name="Start_Date" > <br> </br>
<label for="END_Date">END_Date</label>
<input type="date" name="End_Date" id="End_Date"> <br> </br>
<input type="submit" value="Submit" onclick="return check_date();"> </input>
</fieldset>
</center>
</form>
</body>
</html>
试验
函数检查_日期(){
var start_date=document.getElementsByName(“start_date”);
var End_date=document.getElementsByName(“End_date”);
var startdate_2=开始日期。项(0)。值;
警报(startdate_2.getTime());*在此崩溃*
var diffDays=(结束日期-开始日期2)/(24*3600*1000);
如果(天数>14天)
{提醒(“您请求的日期无效,请重复”);
返回false;
}
其他的
{警报(“将继续”);
返回true;}
}
开始日期
结束日期
即使是日期
输入,开始日期
的值
属性仍作为字符串返回。因此,在调用getTime()
之前,需要将其包装在newdate()
中,将其转换为日期
另外,由于您的输入设置了id
s,您可以稍微简化一些,只需使用document.getElementById
:
function check_date() {
// start_date and End_date now point straight at the correct boxes.
var start_date = document.getElementById("Start_Date");
var End_date = document.getElementById("End_Date");
// convert both entries to a Date object from the string value
var startdate_2 = new Date(start_date.value);
var enddate_2 = new Date(End_date.value);
alert(startdate_2.getTime());
var diffDays = (enddate_2 - startdate_2)/(24*3600*1000);
if ( diffDays > 14 )
{
alert("You entered an invalid date. Please repeat again");
return false;
}
else
{
alert ("Will Proceed");
return true;
}
}
您希望将这两个字符串转换为Javascript日期对象。看看前面的答案: