FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Saber la Fecha con que empieza una semana (solucionado)
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Saber la Fecha con que empieza una semana (solucionado)
Posted: 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

Marcelo Jingo
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Saber la Fecha con que empieza una semana
Posted: Sat Jun 06, 2009 02:49 AM
sjingo:

A ver si te funciona este ejemplo que prepar茅 "al vuelo", ya es fin de semana :-)
Tal vez habr谩 que ajustar el c贸digo dependiendo si prefieres que la semana inicie
en domingo o en lunes.

Code (fw): Select all Collapse
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
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
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: Saber la Fecha con que empieza una semana
Posted: Sat Jun 06, 2009 02: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 (fw): Select all Collapse
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
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Re: Saber la Fecha con que empieza una semana
Posted: Sat Jun 06, 2009 03: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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Saber la Fecha con que empieza una semana (solucionado)
Posted: Sat Jun 06, 2009 05: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

Continue the discussion