FYI: generic calculation of DaysOfMonth()

 

CHECK ANY MONTH WITH THIS CODE:

int DaysOfMonth(int cYear = 2016, int cMonth = 2, int cDay = 29) {

   if (cYear < 1969 || cMonth < 1 || cMonth > 12 || cDay < 1 || cDay > 31) return(0);

   datetime xDate;

   int result = 0;

   for (int i = cDay+1; i <= cDay + 31; i++) {

      xDate = StrToTime(IntegerToString(cYear)+"."+IntegerToString(cMonth)+"."+IntegerToString(i));

     if ( TimeDay(xDate) > cDay ) result = i;

     else break;

   }

   return(result);

}

Reason: