在网上看到这样文章,是用VBS写的,觉得有些麻烦,于是想自己写一个,才发现VBS本来就有类似的函数,于是很容易得实现了
1 | Function weekOfMonth(myDate) |
返回是整数,可以这样调用:1
MsgBox weekOfMonth("2006-8-20")
写完觉得太简单了,再用Flash写一个,在Flash里面找不到关于周计算的函数,只能自己写算法了1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17function weekOfMonth(yyyy:Number,mm:Number,dd:Number):Number{
var myDate = new Date (yyyy, mm-1, dd);
var diff = myDate.getDate() - 1;
myDate.setDate(1);
var dateWeek = 6 - myDate.getDay ();
if (diff > dateWeek){
diff -= dateWeek;
var dateMod = diff % 7;
if(dateMod > 0){
return (diff - dateMod)/7 + 2;
}else{
return diff/7 + 1;
}
}else{
return 1;
}
}
也是返回整型,调用方法1
trace(weekOfMonth(2006,8,20));
函数也很简单,就不多说了。下面是Flash演示这里下载源文件(133KB),Flash8
前面说到的文章在这里,有兴趣可以看看