La siguiente función dado un mes y un año devuelve la fecha en la que cae un día de la semana 1 = Domingo, 2 = Lunes,...
* FUNCTION: FirstDay.prg LPARAMETERS pnmonth, pnyear, pndow * Parameter list description * pnmonth numero del mes (1-12) * pnyear numero del año (en formato cuatro digitos) * pndow dia de la semana a investigar (Domingo = 1, Lunes = 2, etc.) LOCAL ldresult, lddate, lndow lddate = DATE(pnyear, pnmonth, 1) ldresult = lddate * Fuerza a VFP 5.0/6.0 a usar el Domingo * como primer dia de la semana * Versiones anteriores deberan borrar el parametro lnfirstday = DOW(lddate, 1) IF lnfirstday IF lnfirstday < pndow ldresult = lddate + (pndow - lnfirstday) ELSE ldresult = lddate + (7 + pndow) - lnfirstday ENDIF ENDIF RETURN ldresultEjemplo:
* Saber el primer Lunes de septiembre del año actual.
ldSeptMon = FirstDay(9, YEAR(DATE()), 2)
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.