Fecha-semana

Amigo, me ayudaste hace unos días con el calculo de los días que correspondían a un nro de semana. ¿Recuerdas?. Solo por un detalle no lo puedo aplicar a mi sistema. Yo tengo que programar una series de acciones que se producen 1 vez por semana, he aquí el problema, en tu código si el 31/12 (o30 o 29) esta dentro de la semana del 01 del año siguiente, vos los separas diciendo por ej . "la semana 53 es de 27/12 al 31/12" y la 1 seria "del 01/01 al 03/01". Como para mi el asunto es "por semana" yo necesito que el mensaje me tire por semana completa siendo que si el 31/12 ( o alguno menos ) esta dentro de la semana del 01 sea ya la semana 1.
Espero haberme explicado y prometo no molestarte más por este tema.
Sls
Fabricio

1 Respuesta

Respuesta
1
Creo que algo así te serviría:
nSemana = 14
dFecha = DATE(YEAR(DATE()), 01, 01)
dFechaUlt = DATE(YEAR(DATE()), 12, 31)
IF nSemana == 1
        nInc = 7 - DOW(dFecha)
ELSE
        nInc = 6
        dFecha = dFecha + (8 - DOW(dFecha))
        DO WHILE WEEK(dFecha) < nSemana
                IF dFecha + 7 < dFechaUlt
                        dFecha = dFecha + 7
                ELSE
                        nSemana = 1
                        EXIT
                ENDIF
        ENDDO
ENDIF
MESSAGEBOX("La Semana número " + LTRIM(STR(nSemana)) + " es del " + ;
        DTOC(dFecha) + " al " + DTOC(dFecha + nInc), 64, "Aviso")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas