FoxPro/Visual FoxPro - año bisiesto

 
Vista:

año bisiesto

Publicado por joel (6 intervenciones) el 12/05/2003 22:45:55
Holas estoy relazando un reporte anual, pero el mes de febrero no me imprime dato, como puedo saber que el mes de febrero del año en curso tiene 28 o 29 dias.

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:año bisiesto

Publicado por Cecilia Colalongo (218 intervenciones) el 13/05/2003 04:05:55
Un año es bisiesto si es divisible por 400 o sea si haces: 400-MOD(400,<año>)=0 el año es bisiesto, pero para saber el último día del mes, podes usar la función GOMONTH() y restarle un día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:año bisiesto

Publicado por upliftmofopartyplan (265 intervenciones) el 13/05/2003 17:01:10
Hola!
una vez tuve algo parecido. y luego de luchar mucho logré una pequeña rutina que sirve para verificar cualquier fecha, que en resumen es algo así:

if len(alltrim(xfecha))<=4 then
*fecha incorrecta
endif

cuando una fecha es invalida toma el formato " / / ", si le quitamos los espacios, nos queda "/ /".
si manejas la fecha directamente sobre el formato no debes hacer mucho mas. si la manejas como caracter debes convertirla con CTOD()
algo así:
xfecha=CTOD(cadfecha)
espero te sirva.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:año bisiesto

Publicado por antonio patiño mendez (60 intervenciones) el 17/05/2003 02:06:06
estudia la instruccion gomonth y veras que te resuelve el problema pues basta con situarse en enero 31 y darle un gomonth de 1 mes mas para situarte al dia ultimo de febrero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:año bisiesto

Publicado por Javier (13 intervenciones) el 26/05/2003 03:33:57
debes hacer lo siguiente:

1.- En una variable de fecha genera la fecha 1 de marzo del año que necesite

fecmar = ctod('01/03/2003')

2.- Resta 1 a esa fecha

fecfeb = fecmar - 1

entonces puedes preguntar que dia genero esta operacion, y solo sera 28 o 29 si es bisiesto.

Avisame el resultado.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar