Difference between two dates in X++ specific format.

Dear all,

I want to find difference between two dates in specific format

For example:

Date 01 - 15/04/1990.

Date 02 - 01/04/2014.

Output like. 23 years 11 months 15 days.

Can any tell me. how to get this.

thanks in advance.

Hi,

Can you check if this would help you.

static void NumberofMonthsbetweenTwodates(Args _args)
{

date inputDate = str2Date(“1/1/2000”, 213);
date refDate = str2Date(“3/4/2009”, 213);
int noOfMonths,noOfMonthsBetweenYears,noOfDays;
;

noOfMonths = intvNo(refDate, inputDate, intvScale::Month);
noOfMonthsBetweenYears = intvNo(refDate, inputDate, intvScale::Year);
noOfDays = intvNo(refDate, inputDate, intvScale::Day);

info(“noOfMonths :”+int2str(noOfMonths) + " ,NoOfYears :"+int2str(noOfMonthsBetweenYears) );
info("No Of days : " +int2str(noOfDays));

}

thanks for you reply.

it is working fine.

but in below examples it gives negative values

start date(28/06/1995) and end date(14/02/2012)

Can you use abs() function?

static void NumberofMonthsbetweenTwodates(Args _args)
{

date inputDate = str2Date(“28/06/1995”, 123);
date refDate = str2Date(“14/02/2012”, 123);
int noOfMonths,noOfMonthsBetweenYears,noOfDays;
;

noOfMonths = intvNo(refDate, inputDate, intvScale::Month);
noOfMonthsBetweenYears = intvNo(refDate, inputDate, intvScale::Year);
noOfDays = intvNo(refDate, inputDate, intvScale::Day);

info(“noOfMonths :”+int2str(abs(noOfMonths)) + " ,NoOfYears :"+int2str(abs(noOfMonthsBetweenYears)) );
info("No Of days : " +int2str(abs(noOfDays)));

}