I am currently working on an issue where DateTime.addMonths(iStartDateH, durationAsInt) is adding an extra day. It uses GeorgianCalendar internally. We are using Java 5 currently in this project Eg: For 24 months
    ExpirationDate=DateTime.addMonths(currentDate, 24)
    CurrentDate= 01/02/2021 (dd/mm/yyyy format)
    ExpirationDate= 02/02/2023
public static ErrorCode addMonths(DateHolder dateH, int numMonths) {
    try {
        Calendar c = new GregorianCalendar();
        c.setTime(dateH.value);
        c.add(Calendar.MONTH, numMonths);
        dateH.value = c.getTime();
        return ErrorCode.successCN;
    }
    catch (Exception e) {
        IlMessage msg = new IlMessage(Msg.exceptionCaughtCN, e);
        IlSession.getSession().getMessageStack().push(msg);
        return ErrorCode.errorCN;
    }
}
I tried checking the complete date/time difference and its coming as 730.773935185185185 Please help with the same.
 
     
     
    