JS日期加减,日期运算代码
一、日期减去天数等于第二个日期
functioncc(dd,dadd){ //可以加上错误处理 vara=newDate(dd) a=a.valueOf() a=a-dadd*24*60*60*1000 a=newDate(a) alert(a.getFullYear()+"年"+(a.getMonth()+1)+"月"+a.getDate()+"日") } cc("12/23/2002",2)
这里不得不做补充,浪费好多时间得出教训:
Javascript对时间的代号
0-11数字表示1-12月:vara=newDate(2006,5,6)结果是2006-6-6
0-6表示星期
1-31表示日期
0-23小时
0-59分钟,秒
二。//两个日期的差值(d1-d2).
functionDateDiff(d1,d2){ varday=24*60*60*1000; try{ vardateArr=d1.split("-"); varcheckDate=newDate(); checkDate.setFullYear(dateArr[0],dateArr[1]-1,dateArr[2]); varcheckTime=checkDate.getTime(); vardateArr2=d2.split("-"); varcheckDate2=newDate(); checkDate2.setFullYear(dateArr2[0],dateArr2[1]-1,dateArr2[2]); varcheckTime2=checkDate2.getTime(); varcha=(checkTime-checkTime2)/day; returncha; }catch(e){ returnfalse; } }//endfun
三、应用:
<scriptlanguage="javascript"type="text/javascript"> varflag=Array();//全局变量 varstart="2009-01-01"; varend="2009-02-24"; SetFlag(start,end); for(vari=0;i<flag.length;i++){ document.write(flag[i]+"\n\r"); } //设置周期内的日期(数组) functionSetFlag(start,end){ varcdate=Array(); cdate=start.split("-"); varcd=cdate[1]+"/"+cdate[2]+"/"+cdate[0]; vardayNum=DateDiff(end,start); for(vari=0;i<=dayNum;i++){ flag.push(AddDays(cd,i)); } }//endfun //日期加上天数后的新日期. functionAddDays(date,days){ varnd=newDate(date); nd=nd.valueOf(); nd=nd+days*24*60*60*1000; nd=newDate(nd); //alert(nd.getFullYear()+"年"+(nd.getMonth()+1)+"月"+nd.getDate()+"日"); vary=nd.getFullYear(); varm=nd.getMonth()+1; vard=nd.getDate(); if(m<=9)m="0"+m; if(d<=9)d="0"+d; varcdate=y+"-"+m+"-"+d; returncdate; } //两个日期的差值(d1-d2). functionDateDiff(d1,d2){ varday=24*60*60*1000; try{ vardateArr=d1.split("-"); varcheckDate=newDate(); checkDate.setFullYear(dateArr[0],dateArr[1]-1,dateArr[2]); varcheckTime=checkDate.getTime(); vardateArr2=d2.split("-"); varcheckDate2=newDate(); checkDate2.setFullYear(dateArr2[0],dateArr2[1]-1,dateArr2[2]); varcheckTime2=checkDate2.getTime(); varcha=(checkTime-checkTime2)/day; returncha; }catch(e){ returnfalse; } }//endfun </script>