Años de 54 semanas ¿ Como ?

09/02/2004 - 10:35 por Javier Amoros | Informe spam
Hola, tengo una aplicacion en la que le he incorporado un calendario, todo
va ok, pero
en los años que tienen 54 semanas ( al menos algun dia en dicha semana )
ej, 1984
y cada 28 años, no consigo obtener el valor 54 con la funcion WEEK().

Si probais el siguiente codigo, vereis lo que os comento.

* ****************************************************************
* prueba para dererminar las distintas semenas de fin de año
* ojo en los años con 54 semanas, falla ( solo da 53 )
LOCAL nAño,dFecha,nWeek
CREATE cursor semanas ( ;
fecha d, ;
;
semana02 n(2), ;
semana12 n(2), ;
semana22 n(2), ;
semana32 n(2), ;
;
semana01 n(2), ;
semana11 n(2), ;
semana21 n(2), ;
semana31 n(2), ;
;
semana03 n(2), ;
semana13 n(2), ;
semana23 n(2), ;
semana33 n(2), ;
;
semana04 n(2), ;
semana14 n(2), ;
semana24 n(2), ;
semana34 n(2), ;
;
semana05 n(2), ;
semana15 n(2), ;
semana25 n(2), ;
semana35 n(2), ;
;
semana06 n(2), ;
semana16 n(2), ;
semana26 n(2), ;
semana36 n(2), ;
;
semana07 n(2), ;
semana17 n(2), ;
semana27 n(2), ;
semana37 n(2) )


FOR i = 1900 TO 2300
MiDate = DATE(i,12,31)
INSERT INTO semanas VALUES (;
DATE(i,12,31), ;
;
WEEK(MiDate,0,2), ;
WEEK(MiDate,1,2), ;
WEEK(MiDate,2,2), ;
WEEK(MiDate,3,2), ;
;
WEEK(MiDate,0,1), ;
WEEK(MiDate,1,1), ;
WEEK(MiDate,2,1), ;
WEEK(MiDate,3,1), ;
;
WEEK(MiDate,0,3), ;
WEEK(MiDate,1,3), ;
WEEK(MiDate,2,3), ;
WEEK(MiDate,3,3), ;
;
WEEK(MiDate,0,4), ;
WEEK(MiDate,1,4), ;
WEEK(MiDate,2,4), ;
WEEK(MiDate,3,4), ;
;
WEEK(MiDate,0,5), ;
WEEK(MiDate,1,5), ;
WEEK(MiDate,2,5), ;
WEEK(MiDate,3,5), ;
;
WEEK(MiDate,0,6), ;
WEEK(MiDate,1,6), ;
WEEK(MiDate,2,6), ;
WEEK(MiDate,3,6), ;
;
WEEK(MiDate,0,7), ;
WEEK(MiDate,1,7), ;
WEEK(MiDate,2,7), ;
WEEK(MiDate,3,7) )
ENDFOR
SELECT semanas
GO top
BROWSE IN SCREEN TITLE 'semanas'
* *****************************************************************

¿ Podeis ayudarme ?
Desde ya, gracias.


Javier Amoros
XaaM

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Ana María Bisbé York
09/02/2004 - 11:06 | Informe spam
Hola Javier:

¿Cómo es eso de años de 54 semanas? 52* 7 = 364, ok, no entran todos; pero
53 * 7 = 371, entran hasta los biciestos.

Saludos,

Ana

"Javier Amoros" escribió en el mensaje
news:
Hola, tengo una aplicacion en la que le he incorporado un calendario, todo
va ok, pero
en los años que tienen 54 semanas ( al menos algun dia en dicha semana )
ej, 1984
y cada 28 años, no consigo obtener el valor 54 con la funcion WEEK().

Si probais el siguiente codigo, vereis lo que os comento.

* ****************************************************************
* prueba para dererminar las distintas semenas de fin de año
* ojo en los años con 54 semanas, falla ( solo da 53 )
LOCAL nAño,dFecha,nWeek
CREATE cursor semanas ( ;
fecha d, ;
;
semana02 n(2), ;
semana12 n(2), ;
semana22 n(2), ;
semana32 n(2), ;
;
semana01 n(2), ;
semana11 n(2), ;
semana21 n(2), ;
semana31 n(2), ;
;
semana03 n(2), ;
semana13 n(2), ;
semana23 n(2), ;
semana33 n(2), ;
;
semana04 n(2), ;
semana14 n(2), ;
semana24 n(2), ;
semana34 n(2), ;
;
semana05 n(2), ;
semana15 n(2), ;
semana25 n(2), ;
semana35 n(2), ;
;
semana06 n(2), ;
semana16 n(2), ;
semana26 n(2), ;
semana36 n(2), ;
;
semana07 n(2), ;
semana17 n(2), ;
semana27 n(2), ;
semana37 n(2) )


FOR i = 1900 TO 2300
MiDate = DATE(i,12,31)
INSERT INTO semanas VALUES (;
DATE(i,12,31), ;
;
WEEK(MiDate,0,2), ;
WEEK(MiDate,1,2), ;
WEEK(MiDate,2,2), ;
WEEK(MiDate,3,2), ;
;
WEEK(MiDate,0,1), ;
WEEK(MiDate,1,1), ;
WEEK(MiDate,2,1), ;
WEEK(MiDate,3,1), ;
;
WEEK(MiDate,0,3), ;
WEEK(MiDate,1,3), ;
WEEK(MiDate,2,3), ;
WEEK(MiDate,3,3), ;
;
WEEK(MiDate,0,4), ;
WEEK(MiDate,1,4), ;
WEEK(MiDate,2,4), ;
WEEK(MiDate,3,4), ;
;
WEEK(MiDate,0,5), ;
WEEK(MiDate,1,5), ;
WEEK(MiDate,2,5), ;
WEEK(MiDate,3,5), ;
;
WEEK(MiDate,0,6), ;
WEEK(MiDate,1,6), ;
WEEK(MiDate,2,6), ;
WEEK(MiDate,3,6), ;
;
WEEK(MiDate,0,7), ;
WEEK(MiDate,1,7), ;
WEEK(MiDate,2,7), ;
WEEK(MiDate,3,7) )
ENDFOR
SELECT semanas
GO top
BROWSE IN SCREEN TITLE 'semanas'
* *****************************************************************

¿ Podeis ayudarme ?
Desde ya, gracias.


Javier Amoros
XaaM


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#2 Raül Vidiella
09/02/2004 - 16:56 | Informe spam
Ana 52*764 suponiendo que el año bisiesto te sobran dos dias los
cuales pueden estar en una semana inicial (1 de enero domingo) y otro en
una semana final (31 de diciembre lunes).

El problema es que vfp interpreta la ultima semana del año no completa
como la primera inicial del proximo año, por lo cual nunca llega a las
54 semanas.

Saludos
Raül Vidiella
Respuesta Responder a este mensaje
#3 Ana María Bisbé York
09/02/2004 - 17:59 | Informe spam
Gracias Raúl, interesante, lo que pasa es que justo yo lo que analicé es que
siguen siendo a lo sumo 53 semanas; pero con esa distribución que comentas
hay digamos 54 semanas "involucradas", aunque de lunes a lunes o de domingo
a domingo nunca serían más de 53.

Gracias, Saludos,

Ana

"Raül Vidiella" escribió en el mensaje
news:
Ana 52*764 suponiendo que el año bisiesto te sobran dos dias los
cuales pueden estar en una semana inicial (1 de enero domingo) y otro en
una semana final (31 de diciembre lunes).

El problema es que vfp interpreta la ultima semana del año no completa
como la primera inicial del proximo año, por lo cual nunca llega a las
54 semanas.

Saludos
Raül Vidiella


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida