<script>
function Dayminus(asStartvalue,asEndvalue){
loinStart = asStartvalue.split("-");
loinEnd = asEndvalue.split("-");
var loStart = new Date(loinStart[0],loinStart[1]-1,loinStart[2],0,0,0,0);
var loEnd = new Date(loinEnd[0],loinEnd[1]-1,loinEnd[2],0,0,0,0);
var days=(loEnd.getTime()-loStart.getTime())/(1000*24*3600);
if(days<0) days=-days;
return days;
}
alert(Dayminus('1989-5-4','1989-6-4'));
</script>
function Dayminus(asStartvalue,asEndvalue){
loinStart = asStartvalue.split("-");
loinEnd = asEndvalue.split("-");
var loStart = new Date(loinStart[0],loinStart[1]-1,loinStart[2],0,0,0,0);
var loEnd = new Date(loinEnd[0],loinEnd[1]-1,loinEnd[2],0,0,0,0);
var days=(loEnd.getTime()-loStart.getTime())/(1000*24*3600);
if(days<0) days=-days;
return days;
}
alert(Dayminus('1989-5-4','1989-6-4'));
</script>
解决方案 »
- JavaScript匹配数字 非常简单! 请大家帮帮忙
- javascript 中的 <!-- --> 表示什么意思?我知道他不是注释
- 一组字符串如何相同的字符只保留第一个
- 『请教』循环输出日期的问题
- 高分求解 (javascript高手请进!)
- 如何获取 鼠标 所在的 table中 的row 的编号 在线等中
- datagrid表头固定,内容用滚动条移动
- radio类型的input的值在javascript函数里如何获取?
- 如何验证文本框里输入的格式必须是要求个格式:数字-数字(在线等待60分钟)
- 问题标签用户 能帮我解释下这段代码吗?网上搜不到,关于NO CONFLICT
- 如何刷新页面?
- 如何使用回车键触发form的sumbit?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>计算两个日期之间的天数</title>
</head>
<body>
<script language="javascript">
var date1=new Date(2002,0,1),maxdate=new Date();
var date2=new Date(2003,0,1),mindate=new Date();
var betweendays=0;if (date1.getYear() > date2.getYear() || (date1.getYear() == date2.getYear() && date1.getMonth() > date2.getMonth()) || (date1.getYear() == date2.getYear() && date1.getMonth() == date2.getMonth() && date1.getDate() > date2.getDate()))
{
maxdate=date1;
mindate=date2;
}
else
{
maxdate=date2;
mindate=date1;
}maxyear=maxdate.getYear();
minyear=mindate.getYear();
maxmonth=maxdate.getMonth();
minmonth=mindate.getMonth();
maxday=maxdate.getDate();
minday=mindate.getDate();for (;minyear <= maxyear;minyear ++)
{
//处理不同的年份
if (minyear != maxyear)
{
if (minyear % 4==0 && minyear % 100 !=0 || minyear % 400==0)
betweendays=betweendays + 366;
else
betweendays=betweendays + 365;
}
else
{
//处理相同的年份
for (;minmonth <= maxmonth;minmonth ++)
{
//处理不同的月份
if (minmonth!=maxmonth)
{
switch (minmonth + 1)
{
case 1:
betweendays=betweendays + 31;
break;
case 3:
betweendays=betweendays + 31;
break;
case 5:
betweendays=betweendays + 31;
break;
case 7:
betweendays=betweendays + 31;
break;
case 8:
betweendays=betweendays + 31;
break;
case 10:
betweendays=betweendays + 31;
break;
case 12:
betweendays=betweendays + 31;
break;
case 4:
betweendays=betweendays + 30;
break;
case 6:
betweendays=betweendays + 30;
break;
case 9:
betweendays=betweendays + 30;
break;
case 11:
betweendays=betweendays + 30;
break;
case 2:
if (minyear % 4==0 && minyear % 100 !=0 || minyear % 400==0)
betweendays=betweendays + 29;
else
betweendays=betweendays + 28;
break;
}
}
//处理相同的月份
else
betweendays=betweendays + (maxday - minday);
}
}
}
alert("两个日期之间的天数是:" + betweendays);
</script>
</body>
</html>
注意:日期对象的月份部分是用0来表示1月,11表示12月,其它月份依次类推。