Recentemente tive necessidade de calcular a semana. Procurei o código pronto na Internet, mas não era adequado, então tive que fazer sozinho.
Por padrão, a primeira segunda-feira do ano começa na primeira semana.
'Calcula a data de início da primeira semana de um determinado ano
função primeiro dia (ano de entrada)
para i=cdate(inputyear&"-1-1") para cdate(inputyear&"-1-7")
se dia da semana(i)=2 então
primeiro dia = eu
saída para
terminar se
próximo
função final
'Calcular a data de entrada é uma função da semana do ano
FunçãoCalcWeekNo(InputDate)
toyear = ano (data de entrada)
dia=primeirodia(atéano)
if datediff("d",fday,inputdate)<0 then
fdia=primeirodia(paraano-1)
terminar se
'calcweekno=fdia
dianum=datadoiff("d",fdia,datadeentrada)
calcweekno=int(dianum/7)+1
função final
'Calcula o primeiro dia da semana com base no número da semana e no ano
função getfst(inputyear,weekno)
dia=primeirodia(ano de entrada)
getfst=dateadd("d",(semana-1)*7,fdia)
função final