日期:2011-06-08  浏览次数:20863 次

最近有一个计算周的需要,看了网上现成的代码,不太合适,只好自己动手了。
默认把该年第一个星期一作为第一周的开始。

'计算某年第一周开始日期
function firstday(inputyear)
 for i=cdate(inputyear&"-1-1") to cdate(inputyear&"-1-7")
  if weekday(i)=2 then
   firstday=i
   exit for
  end if
 next
end function
'计算输入日期是该年第几周的函数
Function CalcWeekNo(InputDate)
 toyear=year(inputdate)
 fday=firstday(toyear)
 if datediff("d",fday,inputdate)<0 then
  fday=firstday(toyear-1)
 end if
 'calcweekno=fday
 daynum=datediff("d",fday,inputdate)
 calcweekno=int(daynum/7)+1
end function
'根据周数和年份,计算该周第一天
function getfst(inputyear,weekno)
 fday=firstday(inputyear)
 getfst=dateadd("d",(weekno-1)*7,fday)
end function