Recientemente, tuve la necesidad de calcular la semana. Miré el código ya preparado en Internet, pero no era adecuado, así que tuve que hacerlo yo mismo.
De forma predeterminada, el primer lunes del año inicia la primera semana.
'Calcular la fecha de inicio de la primera semana de un año determinado.
función primer día (año de entrada)
para i=cdate(año de entrada&"-1-1") a fechac(año de entrada&"-1-7")
si el día de la semana (i) = 2 entonces
primer día = yo
salida para
terminar si
próximo
función final
'Calcular la fecha de entrada es una función de la semana del año.
FunciónCalcSemanaNo(FechaEntrada)
hoyaño=año(fecha de entrada)
fday=primer día(hoy año)
si fechado("d",fday,inputdate)<0 entonces
fday=primer día(hoy año-1)
terminar si
'calcweekno=fdía
num_día=difffecha("d",fdía,fecha de entrada)
calcweekno=int(daynum/7)+1
función final
'Calcule el primer día de la semana según el número de semana y el año
función getfst (año de entrada, número de semana)
fday=primer día(año de entrada)
getfst=fechaadd("d",(semanano-1)*7,fdía)
función final