Amigos nuevamente les molesto:
Sabiendo el año y la semana, quiero obtener la fecha con la que empieza esa semana. Será posible si alquien me hecha una mano por favor?
Un saludo a todos
Marcelo Jingo
PROCEDURE DameFecha()
LOCAL nVez := 0
LOCAL nAmo := 2009 // Este dato lo conocemos
LOCAL nSem := 34 // Este otro dato tambien lo conocemos
LOCAL dFecha := CTOD("01/01/" + STR(nAmo,4,0) +'"')
LOCAL dFecIni := dFecha
FOR nVez := 1 TO 365
IF WEEK(dFecha + nVez + 1) == nSem
dFecIni += nVez
EXIT
ENDIF
NEXT
// Este código es solo para la primera semana del año
IF DOW(dFecIni) > 1
dFecIni := dFecIni - (DOW(dFecIni) - 1)
ENDIF
MsgInfo(dFecIni,"La fecha buscada es:")
RETURN
Function MiFunction(nAnio,nSemana)
Local Dias,Fecha,Anio,Cae
Dias:=nSemana * 7
Anio:=ALLTRIM(STR(nAnio))
Fecha:=CTOD("01/01/"+Anio) //Quedará 01/01/2008 en formato fecha
Fecha:=Fecha+Dias
Cae:=DOW(Fecha)
DO CASE
CASE Cae=2
Fecha:=Fecha-1
CASE Cae=3
Fecha:=Fecha-2
CASE Cae=4
Fecha:=Fecha-3
CASE Cae=5
Fecha:=Fecha-4
CASE Cae=6
Fecha:=Fecha-5
CASE Cae=7
Fecha:=Fecha-6
ENDCASE
MsgInfo(DTOC(Fecha),"Fecha a inicio de la semana "+ALLTRIM(STR(nSemana))+" del año "+ALLTRIM(STR(nAnio)) )
Return Fecha
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 56 guests