您的位置:首页 > Web前端 > JavaScript

js计算两个时间之间天数差的实例代码

2013-11-20 06:50 851 查看
这篇文章主要介绍了js计算两个时间之间天数差的实例代码,有需要的朋友可以参考一下

复制代码代码如下:

//判断是否为闰年

function isLeapYear(year){

if(year % 4 == 0 && ((year % 100 != 0) || (year % 400 == 0)))

{

return true;

}

return false;

}

//判断前后两个日期

function validatePeriod(fyear,fmonth,fday,byear,bmonth,bday){

if(fyear < byear){

return true;

}else if(fyear == byear){

if(fmonth < bmonth){

return true;

} else if (fmonth == bmonth){

if(fday <= bday){

return true;

}else {

return false;

}

} else {

return false;

}

}else {

return false;

} // www.jbxue.com

}

//计算两个日期的差值

function dateDiff(d1,d2){

var disNum=compareDate(d1,d2);

return disNum;

}

function compareDate(date1,date2)

{

var regexp=/^(\d{1,4})[-|\.]{1}(\d{1,2})[-|\.]{1}(\d{1,2})$/;

var monthDays=[0,3,0,1,0,1,0,0,1,0,0,1];

regexp.test(date1);

var date1Year=RegExp.$1;

var date1Month=RegExp.$2;

var date1Day=RegExp.$3;

regexp.test(date2);

var date2Year=RegExp.$1;

var date2Month=RegExp.$2;

var date2Day=RegExp.$3;

if(validatePeriod(date1Year,date1Month,date1Day,date2Year,date2Month,date2Day)){

firstDate=new Date(date1Year,date1Month,date1Day);

secondDate=new Date(date2Year,date2Month,date2Day);

result=Math.floor((secondDate.getTime()-firstDate.getTime())/(1000*3600*24));

for(j=date1Year;j<=date2Year;j++){

if(isLeapYear(j)){

monthDays[1]=2;

}else{

monthDays[1]=3;

}

for(i=date1Month-1;i<date2Month;i++){

result=result-monthDays[i];

}

}

return result;

}else{

alert('对不起第一个时间必须小于第二个时间,谢谢!');

exit;

}

}

调用该函数传递两个时间值:2013-01-19 2013-12-19

days = dateDiff(d1,d2);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: