CONTEO DE MESES

06/09/2004 - 21:14 por ETOR | Informe spam
AGRADECERIA SU AYUDA

DESE SABER CUANTOS MESES TENGO ENTRE UN PERIODO OBVIAMENTE
ENTRE DOS VARIABLES DE FECHAS,
POR EJEMPLO:
CUANTOS MESES TENGO ENTRE FECHA1={01-01-2001} Y FECHA2={31-
01-2002}
LOS MESES SIEMPRE SERAN COMPLETOS

UTILIZE LO SIGUIENTE
XXþCHA2-FECHA1
XX95 DIAS

PERO SOLO ME DA UN RESULTADO DE DIAS Y QUIERO SABER
CUANTOS MESES SON.

ESPERO ME PUEDAN AYUDAR, GRACIAS DE ANTEMANO

Preguntas similare

Leer las respuestas

#1 Manuel Mendoza
06/09/2004 - 23:17 | Informe spam
Se me ocurre que puedes dividir los días para 30(el número de días que
contiene un mes)
por ejemplo 360/30 meses
puedes redondear el resultado usando round
round(395/30,30) meses
Respuesta Responder a este mensaje
#2 Luis María Guayán
06/09/2004 - 23:25 | Informe spam
Esta función te puede servir (deberias modificar que a los años te los
multiplique por 12 y listo)

? Dif_AMD(DATE(2001,01,01),DATE(2002,12,31))


*--
* FUNCTION Dif_AMD(tdIni, tdFin)
*--
* Calcula la diferencia entre dos fechas en:
* años, meses y días
* Usa la función DiasDelMes()
*--
FUNCTION Dif_AMD(tdIni, tdFin)
LOCAL ldAux, lnAnio, lnMes, lnDia, lcRet
* Fecha inicial siempre menor
IF tdIni>tdFin
ldAux = tdIni
tdIni = tdFin
tdFin = ldAux
ENDIF
lnAnio = YEAR(tdFin) - YEAR(tdIni)
ldAux = GOMONTH(tdIni, 12 * lnAnio)
* No cumplio el año aun
IF ldAux > tdFin
lnAnio = lnAnio - 1
ENDIF
lnMes = MONTH(tdFin) - MONTH(tdIni)
IF lnMes < 0
lnMes = lnMes + 12
ENDIF
lnDia = DAY(tdFin) - DAY(tdIni)
IF lnDia < 0
lnDia = lnDia + DiasDelMes(tdIni)
ENDIF
* Si el dia es mayor, no cumplio el mes
IF (DAY(tdFin) < DAY(tdIni))
IF lnMes = 0
lnMes = 11
ELSE
lnMes = lnMes - 1
ENDIF
ENDIF
lcRet = ALLTRIM(STR(lnAnio))+ " AÑOS, " + ;
ALLTRIM(STR(lnMes))+ " MESES Y " + ;
ALLTRIM(STR(lnDia))+ " DIAS."
RETURN lcRet
ENDFUNC
*--
* FUNCTION DiasDelMes(dFecha)
*
* Retorna los días de un mes. Usada por Dif_AMD
*
FUNCTION DiasDelMes(dFecha)
LOCAL ld
ld = GOMONTH(dFecha,1)
RETURN DAY(ld - DAY(ld))
ENDFUNC

Función sacada de PortalFox: http://www.portalfox.com/article.php?sidd

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos

"ETOR" escribió en el mensaje
news:016801c49445$cb0e1ad0$
AGRADECERIA SU AYUDA

DESE SABER CUANTOS MESES TENGO ENTRE UN PERIODO OBVIAMENTE
ENTRE DOS VARIABLES DE FECHAS,
POR EJEMPLO:
CUANTOS MESES TENGO ENTRE FECHA1={01-01-2001} Y FECHA2={31-
01-2002}
LOS MESES SIEMPRE SERAN COMPLETOS

UTILIZE LO SIGUIENTE
XXþCHA2-FECHA1
XX95 DIAS

PERO SOLO ME DA UN RESULTADO DE DIAS Y QUIERO SABER
CUANTOS MESES SON.

ESPERO ME PUEDAN AYUDAR, GRACIAS DE ANTEMANO
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida