Saber la Fecha con que empieza una semana (solucionado)

Saber la Fecha con que empieza una semana (solucionado)

Postby sjingo » Sat Jun 06, 2009 12:47 am

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
Last edited by sjingo on Sat Jun 06, 2009 3:57 pm, edited 1 time in total.
Marcelo Jingo
User avatar
sjingo
 
Posts: 229
Joined: Sat Mar 18, 2006 3:42 pm
Location: Ibarra-Ecuador

Re: Saber la Fecha con que empieza una semana

Postby Armando » Sat Jun 06, 2009 2:49 am

sjingo:

A ver si te funciona este ejemplo que preparé "al vuelo", ya es fin de semana :D
Tal vez habrá que ajustar el código dependiendo si prefieres que la semana inicie
en domingo o en lunes.

Code: Select all  Expand view

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
 


Saludos
Last edited by Armando on Sat Jun 06, 2009 2:51 am, edited 1 time in total.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3201
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Saber la Fecha con que empieza una semana

Postby jrestojeda » Sat Jun 06, 2009 2:51 am

Hola amigo...
Yo probaría hacerlo a mano!
Haciendo la cuenta, teniendo en cuenta que la semana tiene 7 días...
Partiendo del primero de Enero del año en cuestión luego se suma la cantidad de días transcurridos según corresponda y finalmente se resta la diferencia en el día que cae:
Ejemplo Semada 17 de 2008

Code: Select all  Expand view

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
 


El MsgInfo va a mostrar la fecha que me retorna la función. En este caso la función retorna 27/04/2008. Primer día de la semana, es decir, domingo

Espero te sirva la idea.
Saludos,
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Saber la Fecha con que empieza una semana

Postby sjingo » Sat Jun 06, 2009 3:56 pm

Gracias Armando y Esteban

La función de Esteban funciona perfecto y es lo que buscaba. :D

La de Armando no la pude probar porque da error indicando que no encuentra la función week(), de todas maneras gracias Armando por tu interés.

Estoy muy agradecido a este foro

Marcelo Jingo
Marcelo Jingo
User avatar
sjingo
 
Posts: 229
Joined: Sat Mar 18, 2006 3:42 pm
Location: Ibarra-Ecuador

Re: Saber la Fecha con que empieza una semana (solucionado)

Postby Armando » Sat Jun 06, 2009 5:00 pm

Marcelo:

Me alegra que hayas solucionado tu problema.

La función WEEK() es de xHarbour, será por eso ?. :)

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3201
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 56 guests