function splitDate(startTime,endTime){
var startTime = "20051201";
var endTime = "20060620";
var year1 = startTime.substring(0,startTime.length-4);
var month1 = startTime.substring(startTime.length-4,startTime.length-2);
var day1 = startTime.substring(startTime.length-2);
var year2 = startTime.substring(0,endTime.length-4);
var month2 = startTime.substring(endTime.length-4,endTime.length-2);
var day2 = startTime.substring(endTime.length-2);
var asStartDate = new Date(year1,month1-1,day1-1);
var asEndDate = new Date(year2,month2-1,day2-1);
/* -- 计算两个字符(YYYY-MM-DD)的日期相隔天数 -- */
//取相差天数 日期格式为 2004-12-01
var dates = Date_Compare('2005-12-01','2006-06-21');
//var dates = Date_Compare(asStartDate,asEndDate);
//alert(dates); //取月份 0~11
//取日期天数
var days = [31,31,28,31,30,31,30,31,31,30,31,30,31];
var newdate = asStartDate;
var Date;
//取当前月份
var monthnum = newdate.getMonth()+1;
//取当前月份日期数
var thisendday = days[monthnum];
//alert( newdate.getDate() +" Month "+ newdate.getMonth());document.write( dates+"当前月份日期数"+newdate.getDate() +" Month = "+ newdate.getMonth())//循环增加日期天数
for(i=0; i < dates; i++)
{
//如果日数未超出,日期+1
if( newdate.getDate() < thisendday )
{
newdate.setDate(newdate.getDate() + 1);
Date = Date+';'+newdate.getYear()+(newdate.getMonth()+1)+newdate.getDate();
}
//如果日数超出,月数+1,日期=1
else
{
//如果月数未超出12,月数+1,日期=1
if( newdate.getMonth() < 11 )
{
newdate.setDate(1);
newdate.setMonth(newdate.getMonth() +1);
Date = Date+';'+newdate.getYear()+monthnum+newdate.getDate();
//取当前月份日期数
monthnum = newdate.getMonth();
thisendday = days[monthnum];
}
//如果月数超出12,日期=1,月数=1
else
{
//如果年数未超出asEndDate.year,年数+1,月数=1,日期=1
if( newdate.getYear() < asEndDate.getYear() )
{
newdate.setDate(1) ;
newdate.setMonth(0) ;
newdate.setYear(newdate.getYear() +1);
Date = Date+';'+newdate.getYear()+(newdate.getMonth()+1)+newdate.getDate();
//处理闰年2月
if (asStartDate.year%4==0) {days[2] = 29;}
//取当前月份日期数
monthnum = newdate.getMonth()+1;
thisendday = days[monthnum];
}
//如果年数超出
else
{
//return Date;
break;
}
}
}
}
//alert(Date);
return Date;
}
//<![CDATA[
var sDt=new Date(2006,10,1);
var eDt=new Date(2006, 11,1);
defaultStatus=sDt+' '+eDt
function fGetDtList(_sDt, _eDt){
var ar=[];
var i=0;
ar[i++]=_sDt.toLocaleString();
while(_sDt<_eDt){
_sDt.setDate(_sDt.getDate()+1)
ar[i++]=_sDt.toLocaleString();
}
return ar;
}
//document.write(fGetDtList(sDt,eDt).join(';'));
document.write(fGetDtList(sDt,eDt).join('<br/>'));
//]]>
</script>
<script language=vbscript>
for i =0 to datediff("d",日期A,日期B)
document.write dateadd("d",i,日期A)
next
</script>
function gorush(s1,s2){
var f=function(s){return [s.slice(0,4),s.slice(4,6),s.slice(6)].join("/")}
var d1=new Date(f(String(Math.min(Number(s1),Number(s2)))))
var d2=new Date(f(String(Math.max(Number(s1),Number(s2)))))
var x=d1.getFullYear(),y=d1.getMonth(),z=d1.getDate(),ret=[],d3;
while((d3=new Date(x,y,++z))<d2){
ret.push([d3.getFullYear(),("0"+(d3.getMonth()+1)).slice(-2),("0"+(d3.getDate())).slice(-2)].join(""))
}
return ret.join(";")
}
var s=gorush("20051220","20060203")
alert(s)
</script>
记得以前看过一个帖子里,梅花雪老师把这些关于日期的函数都用prototype的方法写到Date对象里去了,很好用,翻翻老帖子应该能翻到
var edate=new Date(2006,11,6).getTime();
for(var i=sdate;i < edate;i+=86400000)
{
var tmp=new Date(i);
document.write(tmp.getYear());document.write("-");
document.write(tmp.getMonth()+1);document.write("-");
document.write(new Date(i).getDate());
document.write("<br>");
}
var year = eval(startTime.substring(0,startTime.length-4));
var month = eval(startTime.substring(startTime.length-4,startTime.length-2))-1;
var day = eval(startTime.substring(startTime.length-2));var sdate=new Date(year,month,day).getTime();