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>