呵呵,算出来了,把一个老兄的代码修改了一下只是把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>
'^^^^^重要函数标注
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>
解决方案 »
- jquery 中的$.post 在ie下不起作用为什么?
- 高人请进~ 看看一个Bt问题
- 谁能能告诉我为什么这样写…谢谢了
- 小图弹大图Js图片展示一例
- 急,在线等,JS滚动代码,调用之后,莫名在网页下面有一大片空白~~
- 求教一个正则表达式,在"保存"时才检测只能输入3个数字加逗号(可以是多个3个数字加逗号).比如267,095,111
- javascript在客户端真的运行的很慢么,请看下面的问题?
- ASP+Jmail发送Email
- 两个select的问题
- 请问netscape中怎么移动层?
- 关于网页频道的拖动保存问题(关于类google的jk写拖动)
- Javascript的代码在记事本里阅读起来挺费劲的,有什么好的格式化工具么?
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)));
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>
是javascript的
to:fosjos(无聊的菜鸟程序员)
受教了
我会改进的
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)));
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次了
我跟它杠上了
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>这个函数经过测试,发现没问题!麻烦大家也来测试
<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>