最近有一个计算周的需要,看了网上现成的代码,不太合适,只好自己动手了。
默认把该年第一个星期一作为第一周的开始。
'计算某年第一周开始日期
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
……