*----------------------------------------------------- * 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)) ENDFUNCLuis María Guayán
18 de abril de 2000
Calcular la diferencia entre dos fechas en años, meses y días
Función para calcular la cantidad de años, meses y días entre dos variables tipo Date.
Suscribirse a:
Comentarios de la entrada
(
Atom
)
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.