jsp页面中怎么实现输入两个日期,自动计算出两个日期相差多少天
3个回答
展开全部
function dateCheck(d1,d2){
// 返回 日期2 减去 日期1 的天数(当天为 0 )和小时数。
if(! d1 || ! d2){
return [];
}
var n1=d1.indexOf(" ");
var n2=d2.indexOf(" ");
if(n1!=-1){
d1=d1.substring(0, n1);
}
if(n2!=-1){
d2=d2.substring(0, n2);
}
d1=d1.replace(/\s/g, "");
d1=d1.replace(/\//g, "-");
d1=d1.replace(/\\/g, "-");
d1=d1.replace(/\./g, "-");
d1=d1.replace(/\-0/g, "-");
d2=d2.replace(/\s/g, "");
d2=d2.replace(/\//g, "-");
d2=d2.replace(/\\/g, "-");
d2=d2.replace(/\./g, "-");
d2=d2.replace(/\-0/g, "-");
if(d1==d2){
return [0,0];
}
var arr1=d1.split('-'); //转成成数组,分别为年,月,日,下同
var arr2=d2.split('-');
if( ! arr1[0]){
arr1[0]="0";
}
if(! arr1[1]){
arr1[1]="1";
}
if(! arr1[2]){
arr1[2]="0";
}
if(! arr2[0]){
arr2[0]="0";
}
if(! arr2[1]){
arr2[1]="1";
}
if(! arr2[2]){
arr2[2]="0";
}
var date1=new Date(parseInt(arr1[0]),parseInt(arr1[1])-1,parseInt(arr1[2]),0,0,0); // 初始化参数:年 月 日 时 分 秒
var date2=new Date(parseInt(arr2[0]),parseInt(arr2[1])-1,parseInt(arr2[2]),0,0,0);
return [parseInt((date2.getTime()-date1.getTime())/1000/86400),parseInt((date2.getTime()-date1.getTime())/1000/3600)];
}
dateCheck("2012-01-01","2012-01-02") 得到的值:[1,24] 即相差一天、24小时。
// 返回 日期2 减去 日期1 的天数(当天为 0 )和小时数。
if(! d1 || ! d2){
return [];
}
var n1=d1.indexOf(" ");
var n2=d2.indexOf(" ");
if(n1!=-1){
d1=d1.substring(0, n1);
}
if(n2!=-1){
d2=d2.substring(0, n2);
}
d1=d1.replace(/\s/g, "");
d1=d1.replace(/\//g, "-");
d1=d1.replace(/\\/g, "-");
d1=d1.replace(/\./g, "-");
d1=d1.replace(/\-0/g, "-");
d2=d2.replace(/\s/g, "");
d2=d2.replace(/\//g, "-");
d2=d2.replace(/\\/g, "-");
d2=d2.replace(/\./g, "-");
d2=d2.replace(/\-0/g, "-");
if(d1==d2){
return [0,0];
}
var arr1=d1.split('-'); //转成成数组,分别为年,月,日,下同
var arr2=d2.split('-');
if( ! arr1[0]){
arr1[0]="0";
}
if(! arr1[1]){
arr1[1]="1";
}
if(! arr1[2]){
arr1[2]="0";
}
if(! arr2[0]){
arr2[0]="0";
}
if(! arr2[1]){
arr2[1]="1";
}
if(! arr2[2]){
arr2[2]="0";
}
var date1=new Date(parseInt(arr1[0]),parseInt(arr1[1])-1,parseInt(arr1[2]),0,0,0); // 初始化参数:年 月 日 时 分 秒
var date2=new Date(parseInt(arr2[0]),parseInt(arr2[1])-1,parseInt(arr2[2]),0,0,0);
return [parseInt((date2.getTime()-date1.getTime())/1000/86400),parseInt((date2.getTime()-date1.getTime())/1000/3600)];
}
dateCheck("2012-01-01","2012-01-02") 得到的值:[1,24] 即相差一天、24小时。
推荐于2018-05-14
展开全部
通过js就可以实现呀;
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<script>
function c(){
var date1 = document.getElementById("date1").value;
var date2 = document.getElementById("date2").value;
var result = (new Date(date1).getTime() - new Date(date2))/(24*3600*1000);
document.getElementById("day").value = Math.abs(result);
}
</script>
<body>
开始时间: <input id="date1" /><br />
结束时间: <input id="date2" /><button onclick="c()">确定</button><br />
相差天数: <input id="day" />
</body>
</html>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好使用日期插件!美观又好用!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询