呵呵,算出来了,把一个老兄的代码修改了一下只是把i从0开始就可以了,:)<script language=vbscript>MyDate1 =cdate("2006-10-28")   '开始时间
        '^^^^^重要函数标注 
MyDate2 = cdate("2006-11-6")             '结束时间
MyNum=DateDiff("d", MyDate1, MyDate2) '计算两个时间的间隔
     '^^^^^重要函数标注for i=0 to MyNum-1
MyWeekDay = Weekday(MyDate1+i)   ' 7是周六,1是周日         '^^^^^重要函数标注
if MyWeekDay=7 or MyWeekDay=1 then
MyRet=MyRet+1           '累加
end if
nextalert "从" & cstr(MyDate1) & "到" & cstr(MyDate2) & "一共有" & MyRet & "个周末"
</script>

解决方案 »

  1.   

    以上代码来自 yizia(椅子) ( ) 信誉:125    Blog
      

  2.   

    我晕,忘记getDay了,哈哈,其实好简单的东西。
      

  3.   

    function GetWeekDay(Date1,Date2){
    var i=0;
    while((Date2.valueOf()-Date1.valueOf())>0){
    if (Date1.getDay()==2 || Date1.getDay()==3)
    i+=1;
    Date1.setDate(Date1.getDate()+1);
    }
    return i;
    }
    alert(GetWeekDay(new Date(2006,10,14,0,0,0),new Date(2006,10,25,0,0,0)));
      

  4.   

    GetWeekDay 是javascript的吗?
      

  5.   

    <script language=vbs>
    Function CountWenkend(startDate,EndDate)
    Dim t,sD,eD
    Dim i
    sD = DateValue(startDate)
    t  = sD
    eD = DateValue(EndDate)
    i  = 0
    While t <> eD
    If WeekDay(t)=7 Or WeekDay(t)=1 Then
    i = i+1
    End If
    t = DateAdd("d",1,t)
    Wend
    CountWenkend = i
    End Function 
    </script>
    <script language="javascript">
    alert(CountWenkend("2006-10-21","2006-10-23"))
    </script>
      

  6.   

    日期函数还是vbs里的函数强点
      

  7.   

    to:loveeqing(馨郁星愿→ 纯情小色狼 http://www.hksyw.com)
    是javascript的
    to:fosjos(无聊的菜鸟程序员) 
    受教了
    我会改进的
      

  8.   

    function GetWeekDay1(Date1,Date2){

    var days=Date2.getDate()-Date1.getDate();
    var canCountDays=Math.floor(days/7)*2;//能计算出的
    var startDay=0;//判断开始是不是周末
    var j=0;
    while(j<2){
    if (Date1.getDay()==2 || Date1.getDay()==3)
    startDay+=1;
    Date1.setDate(Date1.getDate()+1);
    j++;
    }
    j=0;
    var endDay=0;//判断结束是不是周末
    while(j<2){
    if (Date2.getDay()==2 || Date2.getDay()==3)
    endDay+=1;
    Date2.setDate(Date2.getDate()-1);
    j++;
    } return canCountDays+startDay+endDay;
    }alert(GetWeekDay(new Date(2006,10,14,0,0,0),new Date(2006,10,25,0,0,0)));
      

  9.   

    计算周末根本不需要循环,只是单纯的数学计算过程楼上和楼主的代码只适合短期的,不适用于两个不同年份的日期javascript计算天数差不能用getDate(),可以getTime()
      

  10.   

    function DaySpan(Date1,Date2){
    var i=0;
    while(Date2.valueOf()-Date1.valueOf()>=0)
    {
    Date1.setDate(Date1.getDate()+1);
    i++;
    }
    return i;
    }function GetWeekDay1(Date1,Date2){
    var days=DaySpan(Date1,Date2);
    //alert(days);
    var canCountDays=Math.floor(days/7)*2;//能计算出的
    alert(canCountDays);
    var startDay=0;//判断开始是不是周末
    var j=0;
    while(j<2){
    if (Date1.getDay()==2 || Date1.getDay()==3)
    startDay+=1;
    Date1.setDate(Date1.getDate()+1);
    j++;
    }
    j=0;
    var endDay=0;//判断结束是不是周末
    while(j<2){
    if (Date2.getDay()==2 || Date2.getDay()==3)
    endDay+=1;
    Date2.setDate(Date2.getDate()-1);
    j++;
    } return canCountDays+startDay+endDay;
    }
    第3次了
    我跟它杠上了
      

  11.   

    <script language="vbscript">
    function compareWeekNum(indate,inoutdate) 
    MyDate1 =cdate(indate)   '开始时间
    MyDate2 = cdate(inoutdate)             '结束时间
    MyNum=DateDiff("d", MyDate1, MyDate2) '计算两个时间的间隔
    for i=0 to MyNum-1
    MyWeekDay = Weekday(MyDate1+i)   ' 6是周五,7是周六  
    if MyWeekDay=6 or MyWeekDay=7 then
      MyRet=MyRet+1     '累加 
    else
       MyRet=MyRet+0 '必须加上这句,否则会引起计算出错
    end if
    next
    compareWeekNum= MyRet
    end function
    </script>这个函数经过测试,发现没问题!麻烦大家也来测试
      

  12.   

    唯一的要求是d2>d1
    <script language="JavaScript">
    <!--
    var d1 = new Date("2006/10/21");
    var d2 = new Date("2006/10/27");function getWeekendNum(d1,d2){
        var w = 6 - d1.getDay();
        var day = ( d2.valueOf() - d1.valueOf() )/86400000 + 1 - w;
        return parseInt(day/7) * 2 + [0,1,2,2,2,2,3][Math.max(day,0)%7] + (w==6?1:0);
    }
    document.write("两日期间的周末天数为 : " + getWeekendNum(d1,d2));
    //-->
    </script>