Página 1 de 1

How can calculate difference in years,months,days betweeen two dates

Publicado: Dom Jul 08, 2012 5:08 pm
por Xailer
Hello to all
is it possible to calculate the diference in years months days between two dates?
T.I.A

How can calculate difference in years,months,days betweeen two dates

Publicado: Lun Jul 09, 2012 8:27 am
por ignacio
Xailer escribió el dom, 08 julio 2012 17:08Hello to all
is it possible to calculate the diference in years months days between two dates?
T.I.A
Is not a complex task, but it depends on how you compute years and months (they are not always the same). On financial operations (at least in Spain) years have 360 days and months always have 30 days.
The easy way is to subtract the two dates and you will get the number of days between them. Afterwards you only need to do some simple divisions.
Regards,

How can calculate difference in years,months,days betweeen two dates

Publicado: Lun Jul 09, 2012 2:54 pm
por Bingen Ugaldebere
FUNCTION DDMMAA( dFechaFin, dFechaIni )
LOCAL nDifDia, nDifMes, nDifAno, nCantDiaMesAnt, nAno, nMes
nMes = MONTH( dFechaFin ) - 1
nAno = YEAR( dFechaFin )
nCantDiaMesAnt = IIF( nMes=2, IIF( nAno%4 # 0, 28, 29 ),IIF( nMes=4
..OR.;
nMes=6 .OR. nMes=9 .OR. nMes=11, 30, 31 ) )
nDifDia = DAY( dFechaFin ) - DAY( dFechaIni )
nDifMes = MONTH( dFechaFin ) - MONTH( dFechaIni )
nDifAno = YEAR( dFechaFin ) - YEAR( dFechaIni )
IF nDifMes < 0
nDifAno = nDifAno - 1
nDifMes = MONTH( dFechaFin ) + 12 - MONTH( dFechaIni )
ENDIF
IF nDifDia < 0
IF nDifMes <= 0
nDifMes += 11
nDifAno -= 1
ElSE
nDifMes -= 1
ENDIF
nDifDia = DAY( dFechaFin ) + nCantDiaMesAnt - DAY( dFechaIni )
ENDIF
RETURN( STR( nDifDia, 2 ) + STR( nDifMes, 2 ) + STR( nDifAno, 3 ) )

How can calculate difference in years,months,days betweeen two dates

Publicado: Lun Jul 09, 2012 5:24 pm
por Xailer
Many thanks Beingen it work's perfect!
TIA