Skip to content

在网上看到这样文章,是用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

前面说到的文章在这里,有兴趣可以看看

上次更新于: