JS计算两个日期之间的所有日子。

来源:互联网 发布:telnet改端口号 编辑:程序博客网 时间:2024/04/28 11:05
<html>
<script> 
function btnCount_Click(){ 
var bDate= "2011-12-28"; // 开始时间(具体时间自己改)
var eDate= "2012-1-2"; // 结束时间
//创建日期对象,日期为今天 
var objDate= new Date(bDate);
var iDays = DateDiff(bDate,eDate);
for(var i=0; i<=iDays; i++){
var year=objDate.getFullYear();
var month=objDate.getMonth()+1; //getMonth返回的月份是从0开始的,因此要加1
var date=objDate.getDate();
document.write(year+"-" + month+ "-" + date + "<br>");
//重新设置日期对象的日,不用担心跨月或是跨年之类的情况,系统会自己处理的 
objDate.setDate(objDate.getDate()+1);
}
}
//计算天数的函数
function DateDiff(beginDate, endDate){ //beginDate和endDate都是2007-8-10格式
    var arrbeginDate, date1, date2, arrendDate, iDays;
    arrbeginDate = beginDate.split("-");
    date1 = new Date(arrbeginDate[1] + '-' + arrbeginDate[2] + '-' + arrbeginDate[0]); //转换为2007-8-10格式
    arrendDate = endDate.split("-");
    date2 = new Date(arrendDate[1] + '-' + arrendDate[2] + '-' + arrendDate[0]);
    iDays = parseInt(Math.abs(date1 - date2) / 1000 / 60 / 60 / 24); //转换为天数 
    return iDays;
}
</script>
<body>
<input type="button" value="计算" onclick="btnCount_Click()">
</body>
</html>
0 0