在网上看到这样文章,是用VBS写的,觉得有些麻烦,于是想自己写一个,才发现VBS本来就有类似的函数,于是很容易得实现了
vbs
Function weekOfMonth(myDate)
monthWeek = DatePart("ww",DateAdd("d",-day(myDate)+1,myDate)) '取得该月1号是本年第几周
dayWeek = DatePart("ww",myDate) '取得该日期是本年第几周
weekOfMonth = dayWeek - monthWeek + 1
End Function返回是整数,可以这样调用:
vbs
MsgBox weekOfMonth("2006-8-20")写完觉得太简单了,再用Flash写一个,在Flash里面找不到关于周计算的函数,只能自己写算法了
actionscript
function 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;
}
}也是返回整型,调用方法
actionscript
trace(weekOfMonth(2006,8,20));函数也很简单,就不多说了。下面是Flash演示 这里下载源文件(133KB) /upload/2006/04/28/171742.rar,Flash8
前面说到的文章在这里,有兴趣可以看看