Page 1 of 1

FUNCION WOY(dFecha)

Posted: Tue Dec 13, 2016 5:49 pm
by edufloriv
Saludos amigos,

La función WOY() me devuelve la semana del año a la que pertenece una fecha, pero tengo el problema que cuando le ingreso la fecha 07-01-2017 me dice que es la semana 2, cuando en el calendario, que comienza con domingo, es todavía la semana 1. Me parece que debo ajustar algo en los SETS. Alguien me podría ayudar por favor.

Gracias anticipadas y un saludo a todos.


Att.

FUNCION WOY(dFecha)

Posted: Tue Dec 13, 2016 8:11 pm
by Pablo César
Hola Eduardo,

En realidad no sé que le pasa a esa funcion WoY(), talvez seria por influencia del año bisiesto ? :?

Woy() acepta un segundo parametro lógico para ISO. Pero no vi diferencia. :|

Encontré esta función en el fondo del tronco, la hé actualizado para el Harbour:

Code: Select all

Function My_WoY( dDate )
LOCAL nDays, nWeek, dDoY

If hb_IsDate( dDate )
   dDoY := hb_Date( Year( dDate ), 1, 1 )
   nDays := 1 + ( dDate - dDoY ) - ( 8 - DoW( dDoY ) )
   nWeek := 1
   Do While nDays > 0
      ++nWeek
      nDays -= 7
   Enddo
   Return nWeek
Endif
Return Nil
A mi aqui me dió ahora correcto, fijate si te sirve.

Re: FUNCION WOY(dFecha)

Posted: Tue Dec 13, 2016 9:15 pm
by edufloriv
Pablo Cesar,

Mil gracias, quedo estupenda, ahora si me devuelve los números correctos de semana de acuerdo al calendario. Y es extraño porque DOW() devuelve 1 para domingo que es donde debería iniciar la primera semana.

Un abrazo y mil gracias de nuevo.


Att.

FUNCION WOY(dFecha)

Posted: Tue Dec 13, 2016 9:55 pm
by Pablo César
De nada Eduardo.

La verdad que es algo raro... yo ya reporté en el forum de Harbour.

Re: FUNCION WOY(dFecha)

Posted: Wed Dec 14, 2016 6:07 pm
by danielmaximiliano
Hola a Todos :

seguramente en algunas configuraciones cambia el dia de comienzo de la semana .....

FUNCION WOY(dFecha)

Posted: Wed Dec 14, 2016 11:24 pm
by Pablo César
Si Daniel, el segundo parametro de WoY( <dDate>, <lIso> ) -> nWeek (aqui en rojo) es para atender en caso ISO week date. y ese ISO tiene una formula.

Pero mismo colocando como .F. no deberia agregar una semana a más... es un BUG.

Todavia espero retorno del personal de Harbour. :|

FUNCION WOY(dFecha)

Posted: Sat Dec 17, 2016 7:56 pm
by Pablo César
El señor Przemyslaw, ya lo arregló. :)