最近有一個計算周的需要,看了網上現成的代碼,不太合適,只好自己動手了。
默認把該年第一個星期一作為第一周的開始。
'計算某年第一周開始日期
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