首页 > 代码库 > 转:JS日期加减,日期运算

转:JS日期加减,日期运算

原文 出处http://hi.baidu.com/tonlywang/item/685fba8933a2a756e73d1950

 一、日期减去天数等于第二个日期function cc(dd,dadd)...{//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")}cc("12/23/2002",2)这里不得不做补充,浪费好多时间得出教训:Javascript 对时间的代号 0-11数字表示1-12月: var a= new Date(2006,5,6) 结果是2006-6-60-6表示星期1-31表示日期0-23小时0-59分钟,秒二。//两个日期的差值(d1 - d2).function DateDiff(d1,d2){    var day = 24 * 60 * 60 *1000;try{            var dateArr = d1.split("-");   var checkDate = new Date();        checkDate.setFullYear(dateArr[0], dateArr[1]-1, dateArr[2]);   var checkTime = checkDate.getTime();     var dateArr2 = d2.split("-");   var checkDate2 = new Date();        checkDate2.setFullYear(dateArr2[0], dateArr2[1]-1, dateArr2[2]);   var checkTime2 = checkDate2.getTime();       var cha = (checkTime - checkTime2)/day;          return cha;    }catch(e){   return false;}}//end fun 三、应用:<script language="javascript" type="text/javascript">var flag = Array();//全局变量var start = "2009-01-01";var end = "2009-02-24";SetFlag(start,end); for(var i=0; i<flag.length; i++){   document.write(flag[i]+"\n\r");}//设置周期内的日期(数组)function SetFlag(start,end){var cdate = Array();cdate = start.split("-");var cd = cdate[1]+"/"+cdate[2]+"/"+cdate[0]; var dayNum = DateDiff(end,start);for(var i=0; i<=dayNum; i++){   flag.push(AddDays(cd,i));}}//end fun//日期加上天数后的新日期.function AddDays(date,days){var nd = new Date(date);   nd = nd.valueOf();   nd = nd + days * 24 * 60 * 60 * 1000;   nd = new Date(nd);   //alert(nd.getFullYear() + "年" + (nd.getMonth() + 1) + "月" + nd.getDate() + "日");var y = nd.getFullYear();var m = nd.getMonth()+1;var d = nd.getDate();if(m <= 9) m = "0"+m;if(d <= 9) d = "0"+d; var cdate = y+"-"+m+"-"+d;return cdate;}//两个日期的差值(d1 - d2).function DateDiff(d1,d2){    var day = 24 * 60 * 60 *1000;try{            var dateArr = d1.split("-");   var checkDate = new Date();        checkDate.setFullYear(dateArr[0], dateArr[1]-1, dateArr[2]);   var checkTime = checkDate.getTime();     var dateArr2 = d2.split("-");   var checkDate2 = new Date();        checkDate2.setFullYear(dateArr2[0], dateArr2[1]-1, dateArr2[2]);   var checkTime2 = checkDate2.getTime();       var cha = (checkTime - checkTime2)/day;          return cha;    }catch(e){   return false;}}//end fun</script>#javascript小功能模块